mirror of
https://github.com/openshift/openshift-mcp-server.git
synced 2025-10-17 14:27:48 +03:00
* feat(pods): add tailLines parameter to pod logs retrieval with default 256 lines Signed-off-by: iamsudip <sudip.maji@harness.io> * address review comments Signed-off-by: iamsudip <sudip.maji@harness.io> * test(pods): add tailLines parameter to pod logs retrieval with default 256 lines Signed-off-by: Marc Nuri <marc@marcnuri.com> --------- Signed-off-by: iamsudip <sudip.maji@harness.io> Signed-off-by: Marc Nuri <marc@marcnuri.com> Co-authored-by: Marc Nuri <marc@marcnuri.com>
423 lines
14 KiB
JSON
423 lines
14 KiB
JSON
[
|
|
{
|
|
"annotations": {
|
|
"title": "Events: List",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": false,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "List all the Kubernetes events in the current cluster from all namespaces",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"namespace": {
|
|
"description": "Optional Namespace to retrieve the events from. If not provided, will list events from all namespaces",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"name": "events_list"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Namespaces: List",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": false,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "List all the Kubernetes namespaces in the current cluster",
|
|
"inputSchema": {
|
|
"type": "object"
|
|
},
|
|
"name": "namespaces_list"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Pods: Delete",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": true,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "Delete a Kubernetes Pod in the current or provided namespace with the provided name",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"description": "Name of the Pod to delete",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Namespace to delete the Pod from",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
},
|
|
"name": "pods_delete"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Pods: Exec",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "Execute a command in a Kubernetes Pod in the current or provided namespace with the provided name and command",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"description": "Command to execute in the Pod container. The first item is the command to be run, and the rest are the arguments to that command. Example: [\"ls\", \"-l\", \"/tmp\"]",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"container": {
|
|
"description": "Name of the Pod container where the command will be executed (Optional)",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Name of the Pod where the command will be executed",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Namespace of the Pod where the command will be executed",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"command"
|
|
]
|
|
},
|
|
"name": "pods_exec"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Pods: Get",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": false,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "Get a Kubernetes Pod in the current or provided namespace with the provided name",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"description": "Name of the Pod",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Namespace to get the Pod from",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
},
|
|
"name": "pods_get"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Pods: List",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": false,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "List all the Kubernetes pods in the current cluster from all namespaces",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"labelSelector": {
|
|
"description": "Optional Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label",
|
|
"pattern": "([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"name": "pods_list"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Pods: List in Namespace",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": false,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "List all the Kubernetes pods in the specified namespace in the current cluster",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"labelSelector": {
|
|
"description": "Optional Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label",
|
|
"pattern": "([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Namespace to list pods from",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"namespace"
|
|
]
|
|
},
|
|
"name": "pods_list_in_namespace"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Pods: Log",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": false,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "Get the logs of a Kubernetes Pod in the current or provided namespace with the provided name",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"container": {
|
|
"description": "Name of the Pod container to get the logs from (Optional)",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Name of the Pod to get the logs from",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Namespace to get the Pod logs from",
|
|
"type": "string"
|
|
},
|
|
"previous": {
|
|
"description": "Return previous terminated container logs (Optional)",
|
|
"type": "boolean"
|
|
},
|
|
"tail": {
|
|
"default": 100,
|
|
"description": "Number of lines to retrieve from the end of the logs (Optional, default: 100)",
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
]
|
|
},
|
|
"name": "pods_log"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Pods: Run",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": false,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "Run a Kubernetes Pod in the current or provided namespace with the provided container image and optional name",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"image": {
|
|
"description": "Container Image to run in the Pod",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Name of the Pod (Optional, random name if not provided)",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Namespace to run the Pod in",
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"description": "TCP/IP port to expose from the Pod container (Optional, no port exposed if not provided)",
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"image"
|
|
]
|
|
},
|
|
"name": "pods_run"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Pods: Top",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": false,
|
|
"idempotentHint": true,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "List the resource consumption (CPU and memory) as recorded by the Kubernetes Metrics Server for the specified Kubernetes Pods in the all namespaces, the provided namespace, or the current namespace",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"all_namespaces": {
|
|
"default": true,
|
|
"description": "If true, list the resource consumption for all Pods in all namespaces. If false, list the resource consumption for Pods in the provided namespace or the current namespace",
|
|
"type": "boolean"
|
|
},
|
|
"label_selector": {
|
|
"description": "Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label (Optional, only applicable when name is not provided)",
|
|
"pattern": "([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Name of the Pod to get the resource consumption from (Optional, all Pods in the namespace if not provided)",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Namespace to get the Pods resource consumption from (Optional, current namespace if not provided and all_namespaces is false)",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"name": "pods_top"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Resources: Create or Update",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": true,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "Create or update a Kubernetes resource in the current cluster by providing a YAML or JSON representation of the resource\n(common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps/v1 Deployment, networking.k8s.io/v1 Ingress)",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"resource": {
|
|
"description": "A JSON or YAML containing a representation of the Kubernetes resource. Should include top-level fields such as apiVersion,kind,metadata, and spec",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"resource"
|
|
]
|
|
},
|
|
"name": "resources_create_or_update"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Resources: Delete",
|
|
"readOnlyHint": false,
|
|
"destructiveHint": true,
|
|
"idempotentHint": true,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "Delete a Kubernetes resource in the current cluster by providing its apiVersion, kind, optionally the namespace, and its name\n(common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps/v1 Deployment, networking.k8s.io/v1 Ingress)",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"description": "apiVersion of the resource (examples of valid apiVersion are: v1, apps/v1, networking.k8s.io/v1)",
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"description": "kind of the resource (examples of valid kind are: Pod, Service, Deployment, Ingress)",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Name of the resource",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Optional Namespace to delete the namespaced resource from (ignored in case of cluster scoped resources). If not provided, will delete resource from configured namespace",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"apiVersion",
|
|
"kind",
|
|
"name"
|
|
]
|
|
},
|
|
"name": "resources_delete"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Resources: Get",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": false,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "Get a Kubernetes resource in the current cluster by providing its apiVersion, kind, optionally the namespace, and its name\n(common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps/v1 Deployment, networking.k8s.io/v1 Ingress)",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"description": "apiVersion of the resource (examples of valid apiVersion are: v1, apps/v1, networking.k8s.io/v1)",
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"description": "kind of the resource (examples of valid kind are: Pod, Service, Deployment, Ingress)",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Name of the resource",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Optional Namespace to retrieve the namespaced resource from (ignored in case of cluster scoped resources). If not provided, will get resource from configured namespace",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"apiVersion",
|
|
"kind",
|
|
"name"
|
|
]
|
|
},
|
|
"name": "resources_get"
|
|
},
|
|
{
|
|
"annotations": {
|
|
"title": "Resources: List",
|
|
"readOnlyHint": true,
|
|
"destructiveHint": false,
|
|
"idempotentHint": false,
|
|
"openWorldHint": true
|
|
},
|
|
"description": "List Kubernetes resources and objects in the current cluster by providing their apiVersion and kind and optionally the namespace and label selector\n(common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps/v1 Deployment, networking.k8s.io/v1 Ingress)",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"description": "apiVersion of the resources (examples of valid apiVersion are: v1, apps/v1, networking.k8s.io/v1)",
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"description": "kind of the resources (examples of valid kind are: Pod, Service, Deployment, Ingress)",
|
|
"type": "string"
|
|
},
|
|
"labelSelector": {
|
|
"description": "Optional Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label",
|
|
"pattern": "([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Optional Namespace to retrieve the namespaced resources from (ignored in case of cluster scoped resources). If not provided, will list resources from all namespaces",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"apiVersion",
|
|
"kind"
|
|
]
|
|
},
|
|
"name": "resources_list"
|
|
}
|
|
]
|