Documentation

kagent#

A Helm chart for kagent, built with Google ADK

Requirements#

RepositoryNameVersion
file://../agents/argo-rolloutsargo-rollouts-agent
file://../agents/cilium-debugcilium-debug-agent
file://../agents/cilium-managercilium-manager-agent
file://../agents/cilium-policycilium-policy-agent
file://../agents/helmhelm-agent
file://../agents/istioistio-agent
file://../agents/k8sk8s-agent
file://../agents/kgatewaykgateway-agent
file://../agents/observabilityobservability-agent
file://../agents/promqlpromql-agent
file://../tools/grafana-mcpgrafana-mcp
file://../tools/querydocquerydoc
oci://ghcr.io/kagent-dev/kmcp/helmkmcp${KMCP_VERSION}
oci://ghcr.io/kagent-dev/tools/helmkagent-tools0.1.1

Values#

KeyTypeDefaultDescription
agents.argo-rollouts-agent.enabledbooltrue
agents.argo-rollouts-agent.resources.limits.cpustring"1000m"
agents.argo-rollouts-agent.resources.limits.memorystring"1Gi"
agents.argo-rollouts-agent.resources.requests.cpustring"100m"
agents.argo-rollouts-agent.resources.requests.memorystring"256Mi"
agents.cilium-debug-agent.enabledbooltrue
agents.cilium-debug-agent.resources.limits.cpustring"1000m"
agents.cilium-debug-agent.resources.limits.memorystring"1Gi"
agents.cilium-debug-agent.resources.requests.cpustring"100m"
agents.cilium-debug-agent.resources.requests.memorystring"256Mi"
agents.cilium-manager-agent.enabledbooltrue
agents.cilium-manager-agent.resources.limits.cpustring"1000m"
agents.cilium-manager-agent.resources.limits.memorystring"1Gi"
agents.cilium-manager-agent.resources.requests.cpustring"100m"
agents.cilium-manager-agent.resources.requests.memorystring"256Mi"
agents.cilium-policy-agent.enabledbooltrue
agents.cilium-policy-agent.resources.limits.cpustring"1000m"
agents.cilium-policy-agent.resources.limits.memorystring"1Gi"
agents.cilium-policy-agent.resources.requests.cpustring"100m"
agents.cilium-policy-agent.resources.requests.memorystring"256Mi"
agents.helm-agent.enabledbooltrue
agents.helm-agent.resources.limits.cpustring"1000m"
agents.helm-agent.resources.limits.memorystring"1Gi"
agents.helm-agent.resources.requests.cpustring"100m"
agents.helm-agent.resources.requests.memorystring"256Mi"
agents.istio-agent.enabledbooltrue
agents.istio-agent.resources.limits.cpustring"1000m"
agents.istio-agent.resources.limits.memorystring"1Gi"
agents.istio-agent.resources.requests.cpustring"100m"
agents.istio-agent.resources.requests.memorystring"256Mi"
agents.k8s-agent.enabledbooltrue
agents.k8s-agent.resources.limits.cpustring"1000m"
agents.k8s-agent.resources.limits.memorystring"1Gi"
agents.k8s-agent.resources.requests.cpustring"100m"
agents.k8s-agent.resources.requests.memorystring"256Mi"
agents.kgateway-agent.enabledbooltrue
agents.kgateway-agent.resources.limits.cpustring"1000m"
agents.kgateway-agent.resources.limits.memorystring"1Gi"
agents.kgateway-agent.resources.requests.cpustring"100m"
agents.kgateway-agent.resources.requests.memorystring"256Mi"
agents.observability-agent.enabledbooltrue
agents.observability-agent.resources.limits.cpustring"1000m"
agents.observability-agent.resources.limits.memorystring"1Gi"
agents.observability-agent.resources.requests.cpustring"100m"
agents.observability-agent.resources.requests.memorystring"256Mi"
agents.promql-agent.enabledbooltrue
agents.promql-agent.resources.limits.cpustring"1000m"
agents.promql-agent.resources.limits.memorystring"1Gi"
agents.promql-agent.resources.requests.cpustring"100m"
agents.promql-agent.resources.requests.memorystring"256Mi"
controller.a2aBaseUrlstringhttp://<fullname>-controller.<namespace>.svc.cluster.local:<port>The base URL of the A2A Server endpoint, as advertised to clients.
controller.agentDeploymentobject{"serviceAccountName":""}Global deployment defaults applied to all agent pods. Per-agent settings in the Agent CRD take precedence over these defaults.
controller.agentDeployment.serviceAccountNamestring"" (auto-create per-agent ServiceAccount)Default ServiceAccount name for agent pods. When set, agent pods that don't specify an explicit serviceAccountName will use this ServiceAccount instead of creating a per-agent one. Useful for Workload Identity (GCP, AWS IRSA, Azure Workload Identity). Precedence: agent-level serviceAccountName > this default > auto-created SA.
controller.agentImage.pullPolicystring""
controller.agentImage.registrystring""
controller.agentImage.repositorystring"kagent-dev/kagent/app"
controller.agentImage.tagstring""
controller.envlist[]
controller.envFromlist[]
controller.image.pullPolicystring""
controller.image.registrystring""
controller.image.repositorystring"kagent-dev/kagent/controller"
controller.image.tagstring""
controller.loglevelstring"info"
controller.nodeSelectorobject{}Node labels to match for Pod scheduling.
controller.replicasint1
controller.resources.limits.cpuint2
controller.resources.limits.memorystring"512Mi"
controller.resources.requests.cpustring"100m"
controller.resources.requests.memorystring"128Mi"
controller.service.ports.portint8083
controller.service.ports.targetPortint8083
controller.service.typestring"ClusterIP"
controller.skillsInitImageobject{"pullPolicy":"","registry":"","repository":"kagent-dev/kagent/skills-init","tag":""}The image used by the skills-init container to clone skills from Git and pull OCI skill images.
controller.streaming.initialBufSizestring"4Ki"
controller.streaming.maxBufSizestring"1Mi"
controller.streaming.timeoutstring"600s"
controller.tolerationslist[]Node taints which will be tolerated for Pod scheduling.
controller.volumeMountslist[]
controller.volumeslist[]
controller.watchNamespaceslist[] (watches all available namespaces)Namespaces the controller should watch. If empty, the controller will watch ALL available namespaces.
database.postgres.bundled.enabledbooltrueDeploy the bundled PostgreSQL pod and PVC. Set to false to disable the bundled instance and provide your own via url or urlFile.
database.postgres.bundled.image.registrystring"docker.io"Bundled PostgreSQL image registry.
database.postgres.bundled.image.repositorystring"library"Bundled PostgreSQL image repository (org/namespace).
database.postgres.bundled.image.namestring"postgres"Bundled PostgreSQL image name.
database.postgres.bundled.image.tagstring"18"Bundled PostgreSQL image tag.
database.postgres.bundled.image.pullPolicystring"IfNotPresent"Bundled PostgreSQL image pull policy.
database.postgres.bundled.storagestring"500Mi"PersistentVolumeClaim size for the bundled PostgreSQL instance.
database.postgres.bundled.resources.requests.cpustring"250m"CPU request for the bundled PostgreSQL container.
database.postgres.bundled.resources.requests.memorystring"256Mi"Memory request for the bundled PostgreSQL container.
database.postgres.bundled.resources.limits.cpustring"500m"CPU limit for the bundled PostgreSQL container.
database.postgres.bundled.resources.limits.memorystring"512Mi"Memory limit for the bundled PostgreSQL container.
database.postgres.urlstring""External PostgreSQL connection string. Always used if set, regardless of bundled.enabled.
database.postgres.urlFilestring""Path to a file containing the database URL. Takes precedence over url when set. Always used if set, regardless of bundled.enabled.
database.postgres.vectorEnabledboolfalseEnable pgvector extension and memory table migration. Set to true when using a PostgreSQL server that has pgvector installed. Required for vector-based memory features.
fullnameOverridestring""
grafana-mcp.grafana.serviceAccountTokenstring""
grafana-mcp.grafana.urlstring"grafana.kagent:3000/api"
grafana-mcp.resources.limits.cpustring"500m"
grafana-mcp.resources.limits.memorystring"512Mi"
grafana-mcp.resources.requests.cpustring"100m"
grafana-mcp.resources.requests.memorystring"128Mi"
imagePullPolicystring"IfNotPresent"
imagePullSecretslist[]
kagent-tools.enabledbooltrue
kagent-tools.nameOverridestring"tools"
kagent-tools.replicaCountint1
kagent-tools.resources.limits.cpustring"1000m"
kagent-tools.resources.limits.memorystring"1Gi"
kagent-tools.resources.requests.cpustring"100m"
kagent-tools.resources.requests.memorystring"256Mi"
kagent-tools.tools.loglevelstring"debug"
kagent-tools.tools.metrics.portint8085
kmcp.enabledbooltrue
kmcp.fullnameOverridestring""
kmcp.nameOverridestring"kmcp"
kmcp.namespaceOverridestring""
labelsobject{}Additional labels to add to all Kubernetes resources
nameOverridestring""
namespaceOverridestring.Release.NamespaceOverride the namespace
nodeSelectorobject{}Node labels to match for Pod scheduling.
otel.logging.enabledboolfalse
otel.logging.exporter.otlp.endpointstring""
otel.logging.exporter.otlp.insecurebooltrue
otel.logging.exporter.otlp.timeoutint15
otel.tracing.enabledboolfalse
otel.tracing.exporter.otlp.endpointstring""
otel.tracing.exporter.otlp.insecurebooltrue
otel.tracing.exporter.otlp.protocolstring"grpc"
otel.tracing.exporter.otlp.timeoutint15
podAnnotationsobject{}
podSecurityContextobject{}
providers.anthropic.apiKeySecretKeystring"ANTHROPIC_API_KEY"
providers.anthropic.apiKeySecretRefstring"kagent-anthropic"
providers.anthropic.modelstring"claude-3-5-haiku-20241022"
providers.anthropic.providerstring"Anthropic"
providers.azureOpenAI.apiKeySecretKeystring"AZUREOPENAI_API_KEY"
providers.azureOpenAI.apiKeySecretRefstring"kagent-azure-openai"
providers.azureOpenAI.config.apiVersionstring"2023-05-15"
providers.azureOpenAI.config.azureAdTokenstring""
providers.azureOpenAI.config.azureDeploymentstring""
providers.azureOpenAI.config.azureEndpointstring""
providers.azureOpenAI.modelstring"gpt-4.1-mini"
providers.azureOpenAI.providerstring"AzureOpenAI"
providers.defaultstring"openAI"
providers.gemini.apiKeySecretKeystring"GOOGLE_API_KEY"
providers.gemini.apiKeySecretRefstring"kagent-gemini"
providers.gemini.modelstring"gemini-2.0-flash-lite"
providers.gemini.providerstring"Gemini"
providers.ollama.config.hoststring"host.docker.internal:11434"
providers.ollama.config.options.num_ctxstring"64000"
providers.ollama.modelstring"llama3.2"
providers.ollama.providerstring"Ollama"
providers.openAI.apiKeySecretKeystring"OPENAI_API_KEY"
providers.openAI.apiKeySecretRefstring"kagent-openai"
providers.openAI.modelstring"gpt-4.1-mini"
providers.openAI.providerstring"OpenAI"
proxy.urlstring""
querydoc.image.pullPolicystring"IfNotPresent"
querydoc.image.registrystring"ghcr.io"
querydoc.image.repositorystring"kagent-dev/doc2vec/mcp"
querydoc.image.tagstring"1.1.14"
querydoc.openai.apiKeystring""
querydoc.replicasint1
querydoc.resources.limits.cpustring"500m"
querydoc.resources.limits.memorystring"512Mi"
querydoc.resources.requests.cpustring"100m"
querydoc.resources.requests.memorystring"128Mi"
registrystring"cr.kagent.dev"
securityContextobject{}
tagstring""
tolerationslist[]Node taints which will be tolerated for Pod scheduling.
tools.grafana-mcp.enabledbooltrue
tools.querydoc.enabledbooltrue
ui.envobject{}
ui.image.pullPolicystring""
ui.image.registrystring""
ui.image.repositorystring"kagent-dev/kagent/ui"
ui.image.tagstring""
ui.nodeSelectorobject{}Node labels to match for Pod scheduling.
ui.replicasint1
ui.resources.limits.cpustring"1000m"
ui.resources.limits.memorystring"1Gi"
ui.resources.requests.cpustring"100m"
ui.resources.requests.memorystring"256Mi"
ui.service.ports.portint8080
ui.service.ports.targetPortint8080
ui.service.typestring"ClusterIP"
ui.tolerationslist[]Node taints which will be tolerated for Pod scheduling.
Kagent Lab: Discover kagent and kmcp
Free, on‑demand lab: build custom AI agents with kagent and integrate tools via kmcp on Kubernetes.