id = "k8sgpt" name = "K8sGPT" homepage = "https://k8sgpt.ai/" description = "Scanning your k8s clusters, diagnosing, and triaging issues in simple English" executables = ["k8sgpt"] [dotfiles] # K8sGPT's official README documents the platform-specific k8sgpt.yaml under # the macOS Application Support directory, Linux XDG config directory, and # Windows LOCALAPPDATA. These files can contain the backend API key, so the # complete user config is treated as secret. # https://github.com/k8sgpt-ai/k8sgpt/blob/main/README.md paths = [] secret = [ "[appData]/k8sgpt/k8sgpt.yaml", "[configHome]/k8sgpt/k8sgpt.yaml", "%LOCALAPPDATA%/k8sgpt/k8sgpt.yaml", ] [commands] format = 1 label = "K8sGPT" description = "Scan a Kubernetes cluster for problems. Only the analyze command is modelled; backend setup (auth), filters, integrations and serve mode are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["analyze"] label = "Analyze the cluster" description = "Run a scan and optionally have the configured AI backend explain the issues. Explaining sends (optionally anonymized) resource data to that backend." [[commands.subcommand.source]] id = "readme" kind = "manual" url = "https://github.com/k8sgpt-ai/k8sgpt/blob/main/README.md" revision = "main 2026-10-27" evidence = """ - Run `k8sgpt analyze` to run a scan. - And use `k8sgpt analyze --explain` to get a more detailed explanation of the issues. - You also run `k8sgpt analyze --with-doc` (with or without the explain flag) to get the official documentation from Kubernetes. k8sgpt analyze --explain --filter=Service k8sgpt analyze --explain --filter=Pod --namespace=default k8sgpt analyze --explain --filter=Service --output=json k8sgpt analyze --explain --filter=Service --output=json --anonymize You can use `--backend` flag to specify a configured provider (it's `openai` by default). k8sgpt analyze --explain --backend litellm """ [[commands.subcommand.field]] id = "explain" label = "Explain with AI" type = "boolean" option = ["--explain"] sources = ["readme"] [[commands.subcommand.field]] id = "with_doc" label = "Include Kubernetes docs" type = "boolean" option = ["--with-doc"] sources = ["readme"] [[commands.subcommand.field]] id = "filter" label = "Resource filter" description = "Analyzer to run, for example Pod or Service." type = "string" option = ["--filter"] suggestions = [{ value = "Pod", label = "Pod" }, { value = "Service", label = "Service" }, { value = "Deployment", label = "Deployment" }, { value = "Node", label = "Node" }] sources = ["readme"] [[commands.subcommand.field]] id = "namespace" label = "Namespace" type = "string" option = ["--namespace"] sources = ["readme"] [[commands.subcommand.field]] id = "output" label = "Output format" type = "string" option = ["--output"] suggestions = [{ value = "json", label = "JSON" }] sources = ["readme"] [[commands.subcommand.field]] id = "anonymize" label = "Anonymize data" type = "boolean" option = ["--anonymize"] sources = ["readme"] [[commands.subcommand.field]] id = "backend" label = "AI backend" type = "string" option = ["--backend"] suggestions = [{ value = "openai", label = "OpenAI" }, { value = "localai", label = "LocalAI" }, { value = "ollama", label = "Ollama" }] sources = ["readme"] [[commands.subcommand.task]] id = "scan" label = "Quick scan" fields = ["filter", "namespace", "output"] required = [] [[commands.subcommand.task]] id = "explain" label = "Scan and explain" set = { explain = [true] } fields = ["explain", "with_doc", "filter", "namespace", "anonymize", "backend"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["explain", "filter", "namespace", "output"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["with_doc", "anonymize", "backend"]