mcp-server-kubernetes
Version:
MCP server for interacting with Kubernetes clusters via kubectl
107 lines (106 loc) • 3.57 kB
TypeScript
import { z } from "zod";
import type { V1Container } from "@kubernetes/client-node";
export declare const ContainerTemplate: z.ZodEnum<["ubuntu", "nginx", "busybox", "alpine", "custom"]>;
export type ContainerTemplateName = z.infer<typeof ContainerTemplate>;
export declare const CustomContainerConfig: z.ZodObject<{
image: z.ZodString;
command: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
ports: z.ZodOptional<z.ZodArray<z.ZodObject<{
containerPort: z.ZodNumber;
name: z.ZodOptional<z.ZodString>;
protocol: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
containerPort: number;
name?: string | undefined;
protocol?: string | undefined;
}, {
containerPort: number;
name?: string | undefined;
protocol?: string | undefined;
}>, "many">>;
resources: z.ZodOptional<z.ZodObject<{
limits: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
requests: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
limits?: Record<string, string> | undefined;
requests?: Record<string, string> | undefined;
}, {
limits?: Record<string, string> | undefined;
requests?: Record<string, string> | undefined;
}>>;
env: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
value: z.ZodOptional<z.ZodString>;
valueFrom: z.ZodOptional<z.ZodAny>;
}, "strip", z.ZodTypeAny, {
name: string;
value?: string | undefined;
valueFrom?: any;
}, {
name: string;
value?: string | undefined;
valueFrom?: any;
}>, "many">>;
volumeMounts: z.ZodOptional<z.ZodArray<z.ZodObject<{
name: z.ZodString;
mountPath: z.ZodString;
readOnly: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
name: string;
mountPath: string;
readOnly?: boolean | undefined;
}, {
name: string;
mountPath: string;
readOnly?: boolean | undefined;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
image: string;
resources?: {
limits?: Record<string, string> | undefined;
requests?: Record<string, string> | undefined;
} | undefined;
command?: string[] | undefined;
args?: string[] | undefined;
ports?: {
containerPort: number;
name?: string | undefined;
protocol?: string | undefined;
}[] | undefined;
env?: {
name: string;
value?: string | undefined;
valueFrom?: any;
}[] | undefined;
volumeMounts?: {
name: string;
mountPath: string;
readOnly?: boolean | undefined;
}[] | undefined;
}, {
image: string;
resources?: {
limits?: Record<string, string> | undefined;
requests?: Record<string, string> | undefined;
} | undefined;
command?: string[] | undefined;
args?: string[] | undefined;
ports?: {
containerPort: number;
name?: string | undefined;
protocol?: string | undefined;
}[] | undefined;
env?: {
name: string;
value?: string | undefined;
valueFrom?: any;
}[] | undefined;
volumeMounts?: {
name: string;
mountPath: string;
readOnly?: boolean | undefined;
}[] | undefined;
}>;
export type CustomContainerConfigType = z.infer<typeof CustomContainerConfig>;
export declare const containerTemplates: Record<string, V1Container>;