Skip to main content
Version: Next

Observability Plane

Dependencies​

This chart depends on the following sub-charts. For full configuration options of each dependency, please refer to their official documentation.

NameVersionRepositoryCondition
data-prepper0.3.1https://opensearch-project.github.io/helm-charts/data-prepper.enabled
external-secrets0.19.2https://charts.external-secrets.ioexternal-secrets.enabled
fluent-bit0.54.0https://fluent.github.io/helm-chartsfluentBit.enabled
kgatewayv2.1.2oci://cr.kgateway.dev/kgateway-dev/chartskgateway.enabled
kube-prometheus-stack78.3.0https://prometheus-community.github.io/helm-chartsprometheus.enabled
opensearch3.3.0https://opensearch-project.github.io/helm-charts/openSearch.enabled
opentelemetry-collector0.140.0https://open-telemetry.github.io/opentelemetry-helm-chartsopentelemetry-collector.enabled
opensearch-dashboards3.3.0https://opensearch-project.github.io/helm-charts/openSearchDashboards.enabled

Cluster Agent​

Cluster Agent configuration for WebSocket-based communication with the control plane's cluster gateway

ParameterDescriptionTypeDefault
clusterAgent.affinityAffinity rules for pod schedulingobject{}
clusterAgent.dnsRewrite.enabledEnable CoreDNS rewrite for *.openchoreo.localhost to host.k3d.internalbooleanfalse
clusterAgent.enabledEnable cluster agent deployment for multi-cluster communicationbooleantrue
clusterAgent.heartbeatIntervalInterval between heartbeat messages to the control planestring30s
clusterAgent.image.pullPolicyImage pull policy for the cluster agentobjectIfNotPresent
clusterAgent.image.repositoryContainer image repository for the cluster agentstringghcr.io/openchoreo/cluster-agent
clusterAgent.image.tagContainer image tag (defaults to Chart.AppVersion if empty)string
clusterAgent.logLevelLog level for the cluster agentobjectinfo
clusterAgent.nameName of the cluster agent deployment and associated resourcesstringcluster-agent-observabilityplane
clusterAgent.nodeSelectorNode selector for pod schedulingobject{}
clusterAgent.planeIDLogical plane identifier for multi-tenancy. Multiple CRs with the same planeID share one agent. Defaults to Helm release name if not specified.stringdefault-observabilityplane
clusterAgent.planeTypeType of plane this agent servesobjectobservabilityplane
clusterAgent.podAnnotationsAnnotations to add to cluster agent podsobject{}
clusterAgent.podSecurityContext.fsGroupFilesystem group IDinteger1000
clusterAgent.podSecurityContext.runAsNonRootRun as non-root userbooleantrue
clusterAgent.podSecurityContext.runAsUserUser ID to run asinteger1000
clusterAgent.priorityClass.createCreate a priority classbooleanfalse
clusterAgent.priorityClass.nameName of the priority classstringcluster-agent-observabilityplane
clusterAgent.priorityClass.valuePriority valueinteger900000
clusterAgent.rbac.createCreate ClusterRole and ClusterRoleBinding for the agentbooleantrue
clusterAgent.reconnectDelayDelay before reconnecting after connection lossstring5s
clusterAgent.replicasNumber of cluster agent pod replicasinteger1
clusterAgent.resources.limits.cpuCPU limitstring100m
clusterAgent.resources.limits.memoryMemory limitstring256Mi
clusterAgent.resources.requests.cpuCPU requeststring50m
clusterAgent.resources.requests.memoryMemory requeststring128Mi
clusterAgent.securityContext.allowPrivilegeEscalationPrevent privilege escalationbooleanfalse
clusterAgent.securityContext.capabilities.dropCapabilities to droparray
clusterAgent.securityContext.readOnlyRootFilesystemMount root filesystem as read-onlybooleantrue
clusterAgent.serverCANamespaceNamespace where cluster-gateway CA ConfigMap existsstringopenchoreo-control-plane
clusterAgent.serverUrlWebSocket URL of the cluster gateway in the control planestringwss://cluster-gateway.openchoreo-control-plane.svc.cluster.local:8443/ws
clusterAgent.serviceAccount.annotationsAnnotations to add to the service accountobject{}
clusterAgent.serviceAccount.createCreate a dedicated service accountbooleantrue
clusterAgent.serviceAccount.nameName of the service accountstringcluster-agent-observabilityplane
clusterAgent.tls.caSecretNameCA secret name for signing agent client certificates. If empty, self-signed certs will be generated (required for multi-cluster setup).stringcluster-gateway-ca
clusterAgent.tls.caSecretNamespaceNamespace where the CA secret exists. If empty, self-signed certs will be generated (required for multi-cluster setup).stringopenchoreo-control-plane
clusterAgent.tls.caValueInline CA certificate in PEM format (for multi-cluster, takes precedence)string
clusterAgent.tls.clientSecretNameName of the client certificate Secretstringcluster-agent-tls
clusterAgent.tls.durationCertificate validity duration (e.g., 2160h = 90 days)string2160h
clusterAgent.tls.enabledEnable TLS for cluster agent communicationbooleantrue
clusterAgent.tls.generateCertsGenerate client certificates using cert-manager (for multi-cluster setups)booleanfalse
clusterAgent.tls.renewBeforeTime before expiry to renew certificate (e.g., 360h = 15 days)string360h
clusterAgent.tls.secretNameName of the Secret containing client certificate and keystringcluster-agent-tls
clusterAgent.tls.serverCAConfigMapName of the ConfigMap containing server CA certificatestringcluster-gateway-ca
clusterAgent.tls.serverCAValueInline server CA certificate in PEM format (for multi-cluster setups)string
clusterAgent.tolerationsTolerations for pod schedulingarray[]

Controller Manager​

Configuration for the observability plane controller manager that reconciles ObservabilityAlertRules and other CRDs

ParameterDescriptionTypeDefault
controllerManager.affinityAffinity rules for pod schedulingobject{}
controllerManager.clusterGateway.enabledEnable cluster gateway integration for multi-cluster setupsbooleanfalse
controllerManager.clusterGateway.tls.caConfigMapName of the ConfigMap containing the gateway CA certificatestringcluster-gateway-ca
controllerManager.clusterGateway.tls.caPathPath to the CA certificate file for gateway verificationstring/etc/cluster-gateway/ca.crt
controllerManager.clusterGateway.urlURL of the cluster gateway service in the control planestringhttps://cluster-gateway.openchoreo-control-plane.svc.cluster.local:8443
controllerManager.containerSecurityContext.allowPrivilegeEscalationPrevent privilege escalation within the containerbooleanfalse
controllerManager.containerSecurityContext.capabilities.dropCapabilities to drop from the containerarray["ALL"]
controllerManager.containerSecurityContext.readOnlyRootFilesystemMount root filesystem as read-onlybooleanfalse
controllerManager.containerSecurityContext.seccompProfile.typeSeccomp profile typeobjectRuntimeDefault
controllerManager.deploymentPlaneIdentifier for this deployment plane typestringobservabilityplane
controllerManager.enabledEnable or disable the controller manager deploymentbooleantrue
controllerManager.image.pullPolicyImage pull policy for the controller manager containerobjectIfNotPresent
controllerManager.image.repositoryContainer image repository for the controller managerstringghcr.io/openchoreo/controller
controllerManager.image.tagContainer image tag (defaults to Chart.AppVersion if empty)string
controllerManager.manager.argsCommand line arguments passed to the controller managerarray
controllerManager.manager.env.enableWebhooksEnable or disable admission webhooksstringfalse
controllerManager.nameName of the controller manager deployment and associated resourcesstringcontroller-manager
controllerManager.nodeSelectorNode selector for pod scheduling constraintsobject{}
controllerManager.podSecurityContext.fsGroupGroup ID for filesystem accessinteger1000
controllerManager.podSecurityContext.runAsGroupGroup ID to run the container processinteger1000
controllerManager.podSecurityContext.runAsNonRootRequire the container to run as a non-root userbooleantrue
controllerManager.podSecurityContext.runAsUserUser ID to run the container processinteger1000
controllerManager.priorityClass.createCreate a priority class for the controller managerbooleanfalse
controllerManager.priorityClass.nameName of the priority classstringobservabilityplane-controller-manager
controllerManager.priorityClass.valuePriority value (higher values indicate higher priority)integer900000
controllerManager.replicasNumber of controller manager pod replicasinteger1
controllerManager.resources.limits.cpuCPU limit for the controller managerstring500m
controllerManager.resources.limits.memoryMemory limit for the controller managerstring512Mi
controllerManager.resources.requests.cpuCPU request for the controller managerstring100m
controllerManager.resources.requests.memoryMemory request for the controller managerstring256Mi
controllerManager.serviceAccount.annotationsAnnotations to add to the service accountobject{}
controllerManager.serviceAccount.createCreate a dedicated service account for the controller managerbooleantrue
controllerManager.tolerationsTolerations for pod scheduling on tainted nodesarray[]
controllerManager.topologySpreadConstraintsTopology spread constraints for pod distribution across failure domainsarray[]

Data Prepper​

For full configuration options, please refer to the official chart documentation.

Data Prepper subchart configuration for trace data processing and transformation before sending to OpenSearch

ParameterDescriptionTypeDefault
data-prepper.enabledEnable Data Prepper for trace pipeline processingbooleanfalse
data-prepper.fullnameOverrideOverride the full name of Data Prepper resourcesstringdata-prepper
data-prepper.pipelineConfig.config.trace-pipeline.buffer.bounded_blocking.batch_sizeinteger200
data-prepper.pipelineConfig.config.trace-pipeline.buffer.bounded_blocking.buffer_sizeinteger12800
data-prepper.pipelineConfig.config.trace-pipeline.delaystring100
data-prepper.pipelineConfig.config.trace-pipeline.sinkarray
data-prepper.pipelineConfig.config.trace-pipeline.source.otel_trace_source.sslbooleanfalse
data-prepper.pipelineConfig.enabledEnable pipeline configurationbooleantrue
data-prepper.resources.limits.cpuCPU limit for Data Prepperstring1000m
data-prepper.resources.limits.memoryMemory limit for Data Prepperstring500Mi
data-prepper.resources.requests.cpuCPU request for Data Prepperstring700m
data-prepper.resources.requests.memoryMemory request for Data Prepperstring500Mi

External Secrets​

For full configuration options, please refer to the official chart documentation.

External Secrets Operator subchart configuration for secret management. Single cluster: Set enabled to false to use the data plane's ESO. Multi-cluster: Set enabled to true to install a dedicated ESO in the observability plane.

ParameterDescriptionTypeDefault
external-secrets.enabledEnable External Secrets Operator installation in this chartbooleanfalse
external-secrets.fullnameOverrideOverride the full name of External Secrets Operator resourcesstringexternal-secrets
external-secrets.nameOverrideOverride the name of External Secrets Operator resourcesstringexternal-secrets

Fake Secret Store​

Fake Secret Store configuration for local development without a real secret backend

ParameterDescriptionTypeDefault
fakeSecretStore.enabledEnable fake secret store (requires external-secrets.enabled to be true)booleanfalse
fakeSecretStore.nameName of the ClusterSecretStore resourcestringdefault
fakeSecretStore.secretsList of fake secrets to provide for developmentarray

Fluent Bit​

For full configuration options, please refer to the official chart documentation.

Fluent Bit subchart configuration for log collection and forwarding to OpenSearch

ParameterDescriptionTypeDefault
fluentBit.config.customParsersCustom parser definitions in Fluent Bit configuration formatstring(multiline string)
fluentBit.config.filtersFilter plugin configuration for log processingstring(multiline string)
fluentBit.config.inputsInput plugin configuration for log collectionstring(multiline string)
fluentBit.config.outputsOutput plugin configuration for log forwarding to OpenSearchstring(multiline string)
fluentBit.dnsPolicyDNS policy for Fluent Bit podsobjectClusterFirstWithHostNet
fluentBit.enabledEnable Fluent Bit log collector deploymentbooleanfalse
fluentBit.extraVolumeMountsExtra volume mounts for the Fluent Bit containerarray
fluentBit.extraVolumesExtra volumes for the Fluent Bit podarray
fluentBit.fullnameOverrideOverride the full name of Fluent Bit resourcesstringfluent-bit
fluentBit.hostNetworkUse host network for Fluent Bit pods (required for node log access)booleantrue
fluentBit.initContainersInit containers for the Fluent Bit pod (used to set volume ownership)array
fluentBit.metricsPortPort for Fluent Bit metrics endpointinteger2021
fluentBit.rbac.nodeAccessEnable node-level access for reading container logsbooleantrue
fluentBit.resources.limits.cpuCPU limit for Fluent Bitstring200m
fluentBit.resources.limits.memoryMemory limit for Fluent Bitstring256Mi
fluentBit.resources.requests.cpuCPU request for Fluent Bitstring100m
fluentBit.resources.requests.memoryMemory request for Fluent Bitstring128Mi
fluentBit.securityContext.allowPrivilegeEscalationPrevent privilege escalationbooleanfalse
fluentBit.securityContext.capabilities.dropCapabilities to droparray
fluentBit.securityContext.readOnlyRootFilesystemMount root filesystem as read-onlybooleantrue
fluentBit.securityContext.runAsNonRootRun container as non-root userbooleantrue
fluentBit.securityContext.runAsUserUser ID to run the containerinteger10000
fluentBit.service.portService port for Fluent Bit metricsinteger2021
fluentBit.testFramework.enabledEnable Fluent Bit test frameworkbooleanfalse

Gateway​

KGateway resource configuration for HTTPS gateway routing

ParameterDescriptionTypeDefault
gateway.enabledEnable gateway resource creationbooleanfalse
gateway.httpsPortHTTPS port for the gateway listenerinteger443

Global​

Global values shared across all components in the observability plane

ParameterDescriptionTypeDefault
global.baseDomainBase domain for the observability plane used in gateway routing and ingress configurationstring
global.commonLabelsCommon labels applied to all resources created by this chartobject{}
global.installationModeInstallation mode of OpenChoreoobjectsingleCluster

Kgateway​

For full configuration options, please refer to the official chart documentation.

KGateway subchart configuration for API gateway functionality using Envoy-based gateway

ParameterDescriptionTypeDefault
kgateway.controller.image.pullPolicyImage pull policy for the KGateway controllerobjectIfNotPresent
kgateway.controller.resources.limits.cpuCPU limit for KGateway controllerstring200m
kgateway.controller.resources.limits.memoryMemory limit for KGateway controllerstring256Mi
kgateway.controller.resources.requests.cpuCPU request for KGateway controllerstring100m
kgateway.controller.resources.requests.memoryMemory request for KGateway controllerstring128Mi
kgateway.controller.service.ports.agwGrpcgRPC port for the API gatewayinteger9978
kgateway.controller.service.typeKubernetes service typeobjectClusterIP
kgateway.enabledEnable KGateway API gatewaybooleanfalse
kgateway.fullnameOverrideOverride the full name of KGateway resourcesstringkgateway

Kubernetes Cluster Domain​

Kubernetes cluster domain used for service discovery DNS resolution

ParameterDescriptionTypeDefault
kubernetesClusterDomainKubernetes cluster domain used for service discovery DNS resolutionstringcluster.local

Observer​

OpenChoreo Observer service configuration - REST API that abstracts OpenSearch for logging, metrics, and tracing

ParameterDescriptionTypeDefault
observer.extraEnvsExtra environment variables for the Observer containerarray
observer.image.pullPolicyImage pull policy for the Observer containerobjectIfNotPresent
observer.image.repositoryContainer image repository for the Observerstringghcr.io/openchoreo/observer
observer.image.tagContainer image tag (defaults to Chart.AppVersion if empty)string
observer.logLevelLog level for the Observer serviceobjectinfo
observer.openSearchPasswordPassword for OpenSearch authenticationstringThisIsTheOpenSearchPassword1
observer.openSearchUsernameUsername for OpenSearch authenticationstringadmin
observer.prometheus.addressPrometheus server address (auto-constructed from release name if empty)string
observer.prometheus.timeoutTimeout for Prometheus queriesstring30s
observer.replicasNumber of Observer pod replicasinteger1
observer.resources.limits.cpuCPU limit for the Observerstring200m
observer.resources.limits.memoryMemory limit for the Observerstring200Mi
observer.resources.requests.cpuCPU request for the Observerstring100m
observer.resources.requests.memoryMemory request for the Observerstring128Mi
observer.service.portService port for the Observer APIinteger8080
observer.service.typeKubernetes service typeobjectClusterIP

For full configuration options, please refer to the official chart documentation.

OpenSearch Helm subchart configuration (legacy, prefer openSearchCluster for operator-based deployment)

ParameterDescriptionTypeDefault
openSearch.enabledEnable OpenSearch Helm chart deployment (alternative to operator-based openSearchCluster)booleanfalse
openSearch.extraEnvsExtra environment variables for OpenSearch podsarray
openSearch.image.tagOpenSearch image tag versionstring3.3.0
openSearch.masterServiceName of the master service for cluster discoverystringopensearch
openSearch.nameOverrideOverride the name of OpenSearch resourcesstringopensearch
openSearch.rbac.createCreate RBAC resources for OpenSearchbooleantrue
openSearch.rbac.serviceAccountNameName of the service account for OpenSearchstringopensearch
openSearch.singleNodeRun OpenSearch as a single node (for development/testing)booleantrue

Open Search Cluster​

OpenSearch Operator-based cluster configuration (preferred over openSearch Helm chart)

ParameterDescriptionTypeDefault
openSearchCluster.adminUserPasswordAdmin password for OpenSearch clusterstringThisIsTheOpenSearchPassword1
openSearchCluster.adminUsernameAdmin username for OpenSearch clusterstringadmin
openSearchCluster.bootstrap.resources.limits.cpuCPU limitstring1000m
openSearchCluster.bootstrap.resources.limits.memoryMemory limitstring1000Mi
openSearchCluster.bootstrap.resources.requests.cpuCPU requeststring100m
openSearchCluster.bootstrap.resources.requests.memoryMemory requeststring1000Mi
openSearchCluster.dashboards.enableEnable OpenSearch Dashboardsbooleanfalse
openSearchCluster.dashboards.replicasNumber of dashboard replicasinteger1
openSearchCluster.dashboards.versionOpenSearch Dashboards versionstring3.3.0
openSearchCluster.enabledEnable OpenSearch cluster deployment via OpenSearch Operatorbooleantrue
openSearchCluster.general.setVMMaxMapCountSet vm.max_map_count sysctl for OpenSearch (required for production)booleantrue
openSearchCluster.general.versionOpenSearch version to deploystring3.3.0
openSearchCluster.internalUsersInternal users configuration in YAML format (bcrypt hashed passwords)string(multiline string)
openSearchCluster.nodePools.data.diskSizePersistent volume size for data nodesstring5Gi
openSearchCluster.nodePools.data.replicasNumber of data node replicasinteger2
openSearchCluster.nodePools.data.resources.limits.cpuCPU limitstring1000m
openSearchCluster.nodePools.data.resources.limits.memoryMemory limitstring1000Mi
openSearchCluster.nodePools.data.resources.requests.cpuCPU requeststring100m
openSearchCluster.nodePools.data.resources.requests.memoryMemory requeststring1000Mi
openSearchCluster.nodePools.master.diskSizePersistent volume size for master nodesstring1Gi
openSearchCluster.nodePools.master.replicasNumber of master node replicas (should be odd for quorum)integer3
openSearchCluster.nodePools.master.resources.limits.cpuCPU limitstring1000m
openSearchCluster.nodePools.master.resources.limits.memoryMemory limitstring900Mi
openSearchCluster.nodePools.master.resources.requests.cpuCPU requeststring100m
openSearchCluster.nodePools.master.resources.requests.memoryMemory requeststring900Mi

Open Search Cluster Setup​

OpenSearch cluster post-install setup job configuration

ParameterDescriptionTypeDefault
openSearchClusterSetup.image.repositoryContainer image repositorystringghcr.io/openchoreo/init-observability-opensearch
openSearchClusterSetup.image.tagContainer image tag (defaults to Chart.AppVersion if empty)string
openSearchClusterSetup.observerAddressObserver service address for setup configurationstringhttp://observer.openchoreo-observability-plane:8080
openSearchClusterSetup.observerAlertingWebhookSecretWebhook secret for alerting integrationstringqxbfqk3yjiejrlelolvh

Open Search Dashboards​

For full configuration options, please refer to the official chart documentation.

OpenSearch Dashboards subchart configuration for visualization UI

ParameterDescriptionTypeDefault
openSearchDashboards.config.disableSecurityDisable security features in dashboards (for development)stringtrue
openSearchDashboards.enabledEnable OpenSearch Dashboards deploymentbooleanfalse
openSearchDashboards.extraEnvsExtra environment variables for OpenSearch Dashboards podsarray
openSearchDashboards.fullnameOverrideOverride the full name of OpenSearch Dashboards resourcesstringopensearch-dashboards
openSearchDashboards.image.tagOpenSearch Dashboards image tag versionstring3.3.0
openSearchDashboards.nameOverrideOverride the name of OpenSearch Dashboards resourcesstringopensearch-dashboards
openSearchDashboards.opensearchHostsURL of the OpenSearch cluster to connect tostringhttp://opensearch:9200
openSearchDashboards.replicasNumber of OpenSearch Dashboards replicasinteger1

Opentelemetry Collector​

For full configuration options, please refer to the official chart documentation.

OpenTelemetry Collector subchart configuration for telemetry data collection and processing

ParameterDescriptionTypeDefault
opentelemetry-collector.clusterRole.createCreate a ClusterRole for the collectorbooleantrue
opentelemetry-collector.clusterRole.rulesRBAC rules for the collector ClusterRolearray
opentelemetry-collector.configMap.createCreate ConfigMap (set to false to use existing ConfigMap)booleanfalse
opentelemetry-collector.configMap.existingNameName of existing ConfigMap to use for collector configurationstringopentelemetry-collector-config
opentelemetry-collector.enabledEnable OpenTelemetry Collector deploymentbooleantrue
opentelemetry-collector.fullnameOverrideOverride the full name of OpenTelemetry Collector resourcesstringopentelemetry-collector
opentelemetry-collector.image.repositoryContainer image repository (uses contrib distribution for extended features)stringotel/opentelemetry-collector-contrib
opentelemetry-collector.modeDeployment mode for the collectorobjectdeployment
opentelemetry-collector.resources.limits.cpuCPU limit for the collectorstring100m
opentelemetry-collector.resources.limits.memoryMemory limit for the collectorstring200Mi
opentelemetry-collector.resources.requests.cpuCPU request for the collectorstring50m
opentelemetry-collector.resources.requests.memoryMemory request for the collectorstring100Mi

Opentelemetry Collector Customizations​

OpenTelemetry Collector customizations used by OpenChoreo templates. These are NOT passed to the opentelemetry-collector Helm chart directly.

ParameterDescriptionTypeDefault
opentelemetryCollectorCustomizations.openSearchQueue.numConsumersNumber of consumers processing the queueinteger5
opentelemetryCollectorCustomizations.openSearchQueue.queueSizeMaximum queue size for pending exportsinteger1000
opentelemetryCollectorCustomizations.openSearchQueue.sizerQueue sizing strategyobjectitems
opentelemetryCollectorCustomizations.tailSampling.decisionCache.nonSampledCacheSizeCache size for non-sampled trace decisionsinteger1000
opentelemetryCollectorCustomizations.tailSampling.decisionCache.sampledCacheSizeCache size for sampled trace decisionsinteger10000
opentelemetryCollectorCustomizations.tailSampling.decisionWaitTime to wait before making sampling decisionstring10s
opentelemetryCollectorCustomizations.tailSampling.expectedNewTracesPerSecExpected new traces per second (for cache sizing)integer10
opentelemetryCollectorCustomizations.tailSampling.numTracesNumber of traces to keep in memoryinteger100
opentelemetryCollectorCustomizations.tailSampling.spansPerSecondMaximum spans per second rate limitinteger10

Prometheus​

For full configuration options, please refer to the official chart documentation.

Prometheus stack subchart configuration (kube-prometheus-stack) for metrics collection and monitoring

ParameterDescriptionTypeDefault
prometheus.alertmanager.alertmanagerSpec.podMetadata.nameName for Alertmanager pod metadatastringalertmanager
prometheus.alertmanager.enabledEnable Alertmanager deploymentbooleanfalse
prometheus.cleanPrometheusOperatorObjectNamesProduce cleaner resource names without redundant suffixesbooleantrue
prometheus.coreDns.enabledEnable CoreDNS metrics scrapingbooleanfalse
prometheus.crds.enabledInstall Prometheus Operator CRDs (ServiceMonitor, PodMonitor, etc.)booleantrue
prometheus.defaultRules.createCreate default alerting rulesbooleanfalse
prometheus.enabledEnable Prometheus stack deploymentbooleantrue
prometheus.fullnameOverrideOverride the full name of Prometheus stack resourcesstringopenchoreo-observability
prometheus.grafana.adminPasswordGrafana admin passwordstringadmin
prometheus.grafana.adminUserGrafana admin usernamestringadmin
prometheus.grafana.datasources.datasources.yaml.apiVersioninteger1
prometheus.grafana.datasources.datasources.yaml.datasourcesarray
prometheus.grafana.defaultDashboardsEnabledEnable default Grafana dashboardsbooleanfalse
prometheus.grafana.enabledEnable Grafana deploymentbooleanfalse
prometheus.grafana.fullnameOverrideOverride the full name of Grafana resourcesstringgrafana
prometheus.grafana.sidecar.dashboards.enabledEnable dashboard sidecarbooleanfalse
prometheus.grafana.sidecar.datasources.enabledEnable datasource sidecarbooleanfalse
prometheus.kube-state-metrics.collectorsList of Kubernetes resources to collect metrics fromarray
prometheus.kube-state-metrics.fullnameOverrideOverride the full name of kube-state-metrics resourcesstringkube-state-metrics
prometheus.kube-state-metrics.metricAllowlistAllowlist of specific metrics to collect (improves performance)array
prometheus.kube-state-metrics.metricLabelsAllowlistLabels to include from Kubernetes resources (OpenChoreo-specific labels)array
prometheus.kubeApiServer.enabledEnable API server metrics scrapingbooleanfalse
prometheus.kubeControllerManager.enabledEnable controller manager metrics scrapingbooleanfalse
prometheus.kubeEtcd.enabledEnable etcd metrics scrapingbooleanfalse
prometheus.kubeProxy.enabledEnable kube-proxy metrics scrapingbooleanfalse
prometheus.kubeScheduler.enabledEnable scheduler metrics scrapingbooleanfalse
prometheus.kubeStateMetrics.enabledEnable kube-state-metrics scrapingbooleantrue
prometheus.kubelet.enabledEnable kubelet metrics scrapingbooleantrue
prometheus.kubernetesServiceMonitors.enabledEnable Kubernetes component ServiceMonitorsbooleantrue
prometheus.nodeExporter.enabledEnable node exporter deploymentbooleanfalse
prometheus.prometheus.enabledEnable Prometheus server deploymentbooleantrue
prometheus.prometheus.prometheusSpec.serviceMonitorNamespaceSelectorNamespace selector for ServiceMonitors (empty = all namespaces)object{}
prometheus.prometheus.prometheusSpec.serviceMonitorSelectorLabel selector for ServiceMonitors (empty = all ServiceMonitors)object{}
prometheus.prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValuesUse Helm values for ServiceMonitor selection when selector is nilbooleanfalse
prometheus.prometheus.service.portPrometheus server portinteger9091
prometheus.prometheus.service.reloaderWebPortConfig reloader web portinteger8081
prometheus.prometheusOperator.enabledEnable Prometheus Operator deploymentbooleantrue
prometheus.prometheusOperator.fullnameOverrideOverride the full name of Prometheus Operator resourcesstringprometheus-operator
prometheus.prometheusOperator.resources.limits.cpuCPU limitstring40m
prometheus.prometheusOperator.resources.limits.memoryMemory limitstring50Mi
prometheus.prometheusOperator.resources.requests.cpuCPU requeststring20m
prometheus.prometheusOperator.resources.requests.memoryMemory requeststring30Mi
prometheus.thanosRuler.enabledEnable Thanos Ruler for long-term alertingbooleanfalse

Rca​

AI-powered Root Cause Analysis agent configuration

ParameterDescriptionTypeDefault
rca.controlPlaneNamespaceControl plane namespace for service auto-discoverystringopenchoreo-control-plane
rca.enabledEnable RCA agent deploymentbooleanfalse
rca.image.pullPolicyImage pull policyobjectIfNotPresent
rca.image.repositoryContainer image repositorystringghcr.io/openchoreo/ai-rca-agent
rca.image.tagContainer image tag (defaults to Chart.AppVersion if empty)string
rca.llm.apiKeyLLM API key (set via --set rca.llm.apiKey during install)string
rca.llm.modelNameLLM model name (e.g., claude-sonnet-4-5, gpt-5, gemini-2.0-flash-exp)string
rca.nameName of the RCA agent deploymentstringai-rca-agent
rca.oauth.clientIdOAuth2 client ID registered with the IDPstringopenchoreo-rca-agent
rca.oauth.clientSecretOAuth2 client secret (override via --set rca.oauth.clientSecret)stringopenchoreo-rca-agent-secret
rca.oauth.tokenUrlToken URL for obtaining access tokens from IDPstringhttp://thunder.openchoreo.localhost:8080/oauth2/token
rca.observerMcpUrlObserver MCP endpoint URL (leave empty for auto-discovery)string
rca.openchoreoMcpUrlOpenChoreo API MCP endpoint URL (leave empty for auto-discovery)string
rca.opensearch.addressOpenSearch cluster addressstringhttps://opensearch:9200
rca.replicasNumber of RCA agent replicasinteger1
rca.resources.limits.cpuCPU limitstring500m
rca.resources.limits.memoryMemory limitstring512Mi
rca.resources.requests.cpuCPU requeststring100m
rca.resources.requests.memoryMemory requeststring128Mi
rca.service.portService portinteger8080
rca.service.typeService typeobjectClusterIP

Security​

Common security configuration shared across all components

ParameterDescriptionTypeDefault
security.enabledGlobal security toggle - when disabled, authentication is turned off for all componentsbooleantrue
security.jwt.audienceExpected audience claim in JWT tokensstring
security.oidc.issuerOIDC issuer URLstring
security.oidc.jwksUrlJWKS URL for token verificationstring
security.oidc.jwksUrlTlsInsecureSkipVerifySkip TLS verification for JWKS URLstringfalse

Tls​

Global TLS certificate configuration using cert-manager

ParameterDescriptionTypeDefault
tls.enabledEnable TLS certificate generation for the observability planebooleanfalse

Wait Job​

Wait job configuration for post-install hooks

ParameterDescriptionTypeDefault
waitJob.imageContainer image for kubectl-based wait jobsstringbitnamilegacy/kubectl:1.32.4