Skip to content
Latest (currently 2026.7.0) has the newest features, bug fixes, and CVE patches of Solo Enterprise for agentregistry.

Helm

Page as Markdown

Solo Enterprise for agentregistry Helm values reference.

KeyTypeDefaultDescription
affinityobject{}Affinity rules for pod assignment (overrides preset if set)
argslist[]Override default container args (evaluated as a template)
audit.authz.allowedDecisionsstring"sensitive"Successful authorization decisions to emit. Denials and authz errors are always emitted when audit.enabled=true. none: emit no successful authorization allows. sensitive: emit successful reads of sensitive resources, such as Secret. all: emit every successful authorization allow.
audit.collector.affinityobject{}
audit.collector.containerSecurityContext.allowPrivilegeEscalationboolfalseContainer security context for the audit collector.
audit.collector.containerSecurityContext.runAsGroupint10001
audit.collector.containerSecurityContext.runAsNonRootbooltrue
audit.collector.containerSecurityContext.runAsUserint10001
audit.collector.enabledboolfalseDeploy an in-cluster OTel Collector relay for audit events. Only effective when audit.enabled=true.
audit.collector.image.pullPolicystring"IfNotPresent"
audit.collector.image.pullSecretslist[]Image pull secrets for the collector image (in addition to global.imagePullSecrets).
audit.collector.image.repositorystring"otel/opentelemetry-collector-contrib"
audit.collector.image.tagstring"0.148.0"
audit.collector.nodeSelectorobject{}
audit.collector.persistence.directorystring"/var/lib/otelcol/audit"Directory used by the collector file-storage queue.
audit.collector.persistence.enabledbooltruePersist the collector queue across collector restarts. Disabling this makes queued audit events ephemeral.
audit.collector.persistence.sizestring"10Gi"Size of the WAL PersistentVolumeClaim when persistence.enabled=true.
audit.collector.persistence.storageClassstring""StorageClass for the WAL PVC ("" = cluster default).
audit.collector.podSecurityContext.fsGroupint10001Pod security context for the audit collector. fsGroup must be able to write the persistent queue directory.
audit.collector.podSecurityContext.fsGroupChangePolicystring"OnRootMismatch"
audit.collector.podSecurityContext.runAsGroupint10001
audit.collector.podSecurityContext.runAsNonRootbooltrue
audit.collector.podSecurityContext.runAsUserint10001
audit.collector.resources.limits.cpustring"500m"
audit.collector.resources.limits.memorystring"512Mi"
audit.collector.resources.requests.cpustring"100m"
audit.collector.resources.requests.memorystring"128Mi"
audit.collector.retryOnFailure.enabledbooltrueRetry failed exports from the audit collector to the destination.
audit.collector.retryOnFailure.initialIntervalstring"5s"Initial retry interval for failed exports.
audit.collector.retryOnFailure.maxElapsedTimestring"0s"Maximum elapsed retry time. 0 means retry indefinitely while records remain in the queue.
audit.collector.retryOnFailure.maxIntervalstring"30s"Maximum retry interval for failed exports.
audit.collector.sendingQueue.batch.enabledbooltrueEnable exporter-helper queue batching for audit exports.
audit.collector.sendingQueue.batch.flushTimeoutstring"5s"Maximum time to wait before flushing a partial batch.
audit.collector.sendingQueue.batch.maxSizeint2048Maximum batch size before export.
audit.collector.sendingQueue.batch.minSizeint512Minimum batch size before export.
audit.collector.sendingQueue.batch.sizerstring"items"Batch sizing mode. Keep this item-based so log-record batch sizes are easy to reason about.
audit.collector.sendingQueue.blockOnOverflowboolfalseBlock producers instead of dropping when the queue is full.
audit.collector.sendingQueue.enabledbooltrueQueue audit exports before forwarding to the destination.
audit.collector.sendingQueue.numConsumersint4Number of queue consumers exporting batches concurrently.
audit.collector.sendingQueue.queueSizeint10000Maximum number of queued requests before overflow handling applies.
audit.collector.sendingQueue.sizerstring"requests"Queue sizing mode for the exporter helper.
audit.collector.service.typestring"ClusterIP"
audit.collector.tolerationslist[]
audit.destination.otlp.endpointstring""OTLP/gRPC receiver for audit events. Required when audit.enabled=true.
audit.destination.otlp.insecureboolfalseDisable transport security when forwarding to the audit destination.
audit.enabledboolfalseEnable control-plane audit event export from the AgentRegistry server.
automountServiceAccountTokenbooltrueMount the service account token in the pod
awsobject{"accessKeyId":"","enabled":false,"region":"","secretAccessKey":"","sessionToken":"","usePodIdentity":false}AWS configuration. When enabled, all values must be provided.
aws.sessionTokenstring""Session token for AWS temporary credentials (e.g. from aws sso login + aws configure export-credentials). Leave empty for long-lived IAM user keys.
aws.usePodIdentityboolfalseUse EKS Pod Identity for AWS credentials instead of explicit keys. When true, the chart skips creating the AWS credentials Secret. The pod’s service account must have a Pod Identity Association configured.
binaryobject{"agentgateway":{"bucket":"","host":"","name":"agentgateway","version":""},"agw-sync":{"bucket":"","host":"","name":"agw-sync","version":""},"sts":{"bucket":"","host":"","name":"agentregistry-sts","version":""}}Per-binary download configuration for managed backends; URL composed as ///
binary.agentgateway.bucketstring""Bucket override for this binary (default: global.binaryBucket)
binary.agentgateway.hoststring""Host override for this binary (default: global.binaryHost)
binary.agentgateway.namestring"agentgateway"Binary filename as published in the bucket
binary.agentgateway.versionstring""Version path segment (default: chart appVersion)
binary.agw-sync.bucketstring""Bucket override for this binary (default: global.binaryBucket)
binary.agw-sync.hoststring""Host override for this binary (default: global.binaryHost)
binary.agw-sync.namestring"agw-sync"Binary filename as published in the bucket
binary.agw-sync.versionstring""Version path segment (default: chart appVersion)
binary.sts.bucketstring""Bucket override for this binary (default: global.binaryBucket)
binary.sts.hoststring""Host override for this binary (default: global.binaryHost)
binary.sts.namestring"agentregistry-sts"Binary filename as published in the bucket
binary.sts.versionstring""Version path segment (default: chart appVersion)
clickhouse.auth.enabledbooltrueEnable ClickHouse authentication
clickhouse.auth.passwordstring"password"ClickHouse password
clickhouse.auth.skipUserSetupboolfalseMust be false so the subchart configures the default user with the password above. skipUserSetup: true leaves the insecure no-password default user, which breaks auth.
clickhouse.auth.usernamestring"default"ClickHouse username
clickhouse.containerSecurityContextobject{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true}Container-level security context for ClickHouse containers (passed through to the ClickHouse subchart).
clickhouse.customConfigobject{"concurrent_threads_soft_limit_num":1,"mark_cache_size":524288000}Custom ClickHouse server configuration
clickhouse.databaseobject{"name":"agentregistry"}ClickHouse database name to create and connect to
clickhouse.enabledbooltrueEnable ClickHouse deployment
clickhouse.imageobject{"repository":"clickhouse/clickhouse-server","tag":""}ClickHouse image configuration
clickhouse.image.repositorystring"clickhouse/clickhouse-server"ClickHouse image repository
clickhouse.image.tagstring""ClickHouse image tag - empty so it uses the chart appVersion
clickhouse.keeper.enabledboolfalseEnable ClickHouse Keeper / ZooKeeper
clickhouse.livenessProbeobject{"initialDelaySeconds":10,"periodSeconds":15,"tcpSocket":{"port":"http"},"timeoutSeconds":1}Liveness probe for ClickHouse
clickhouse.metricsobject{"enabled":false}Enable ClickHouse Prometheus metrics endpoint
clickhouse.persistentVolume.enabledboolfalseEnable persistent storage for ClickHouse
clickhouse.portsobject{"clickhouse":{"metrics":9363,"tcp":9000}}ClickHouse network port configuration (passed through to the ClickHouse subchart)
clickhouse.ports.clickhouse.metricsint9363Prometheus metrics port
clickhouse.ports.clickhouse.tcpint9000Native TCP port for ClickHouse clients
clickhouse.profilesobject{"default":{"@replace":"1","max_execution_time":60}}User performance profiles
clickhouse.readinessProbeobject{"httpGet":{"path":"/ping","port":"http"},"initialDelaySeconds":10,"periodSeconds":15,"timeoutSeconds":1}Readiness probe for ClickHouse
clickhouse.replicasPerShardint1Number of ClickHouse replicas
clickhouse.resourcesobject{"limits":{"cpu":"1000m","memory":"2048Mi"},"requests":{"cpu":"250m","ephemeral-storage":"50Mi","memory":"512Mi"}}Resource defaults for ClickHouse These defaults are intentionally conservative so the chart can install on smaller clusters. Increase them for production workloads based on dataset size, ingestion rate, and retention requirements.
clickhouse.securityContextobject{"fsGroup":101,"fsGroupChangePolicy":"OnRootMismatch","runAsGroup":101,"runAsNonRoot":true,"runAsUser":101}Pod-level security context for ClickHouse pods (passed through to the ClickHouse subchart).
clickhouse.shardsint1Number of ClickHouse shards
commandlist[]Override default container command (evaluated as a template)
commonAnnotationsobject{}Annotations to add to all deployed resources
commonLabelsobject{}Labels to add to all deployed resources
config.agentGatewayPortstring"21212"Agent Gateway gRPC port
config.agentRegistryMcpPortstring"31313"Agent Registry MCP server port
config.requireCreateApprovalstring"false"Stage non-admin tagged registry artifact writes for approval before production storage
config.serverAddressstring":8080"Listen address for the HTTP server
containerSecurityContext.allowPrivilegeEscalationboolfalseAllow privilege escalation
containerSecurityContext.capabilities.droplist["ALL"]Linux capabilities to drop
containerSecurityContext.enabledbooltrueEnable container-level security context
containerSecurityContext.readOnlyRootFilesystemboolfalseMount root filesystem as read-only
containerSecurityContext.runAsGroupint0Group ID to run the container as
containerSecurityContext.runAsNonRootboolfalsePrevent running as root
containerSecurityContext.runAsUserint0User ID to run the container as
containerSecurityContext.seccompProfile.typestring"RuntimeDefault"Seccomp profile type
database.postgres.bundledobject{"affinity":{},"image":{"name":"postgres","pullPolicy":"IfNotPresent","registry":"docker.io","repository":"library","tag":"18"},"nodeSelector":{},"resources":{"limits":{"cpu":"1","memory":"1Gi"},"requests":{"cpu":"250m","memory":"256Mi"}},"storage":"5Gi","tolerations":[]}Bundled PostgreSQL — dev/eval only. Only consumed when type: bundled.
database.postgres.bundled.affinityobject{}Affinity for the bundled PostgreSQL pod. Empty by default.
database.postgres.bundled.image.namestring"postgres"Bundled PostgreSQL image name
database.postgres.bundled.image.pullPolicystring"IfNotPresent"Bundled PostgreSQL image pull policy
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.tagstring"18"Bundled PostgreSQL image tag
database.postgres.bundled.nodeSelectorobject{}Node selector for the bundled PostgreSQL pod. Empty by default.
database.postgres.bundled.resourcesobject{"limits":{"cpu":"1","memory":"1Gi"},"requests":{"cpu":"250m","memory":"256Mi"}}Resource requests/limits for the bundled PostgreSQL container
database.postgres.bundled.storagestring"5Gi"PersistentVolumeClaim size for the bundled PostgreSQL data directory
database.postgres.bundled.tolerationslist[]Tolerations for the bundled PostgreSQL pod. Empty by default.
database.postgres.externalobject{"secretRef":{"key":"AGENT_REGISTRY_DATABASE_URL","name":""},"url":""}External (BYO) PostgreSQL configuration. Only consumed when type: external.
database.postgres.external.secretRefobject{"key":"AGENT_REGISTRY_DATABASE_URL","name":""}Source the connection string from an existing Secret instead of inlining it. Use this when credentials are managed by an external secret store (e.g. AWS Secrets Manager via External Secrets Operator) and synced into the cluster as a Secret. The chart does not create or manage this Secret. Mutually exclusive with external.url. On credential rotation, Kubernetes does NOT auto-restart the pod — pair with a controller such as stakater/Reloader if you need automatic restarts on Secret content changes.
database.postgres.external.secretRef.keystring"AGENT_REGISTRY_DATABASE_URL"Key within the Secret that holds the connection string.
database.postgres.external.secretRef.namestring""Name of an existing Secret in the release namespace. Leave empty to disable.
database.postgres.external.urlstring""Inline connection string. Mutually exclusive with external.secretRef.name.
database.postgres.typestring"bundled"Backend type: “bundled” (deploy the chart’s in-cluster dev/eval Postgres pod) or “external” (connect to a Postgres you bring yourself; configure under external below).
dnsConfigobject{}DNS configuration for the pod
dnsPolicystring""DNS policy for the pod
extraEnvVarslist[]Array of extra environment variables for the Agent Registry container. Additive only — cannot override env vars the chart already renders. For credentialed fields use the dedicated knobs (e.g. database.postgres.external.secretRef, global.git.secretRef).
fullnameOverridestring"agentregistry-enterprise"Override the full name of the chart. Defaults to “agentregistry-enterprise”. Set to "" to fall back to release-name-driven naming.
global.binaryBucketstring"agentregistry-enterprise"Default bucket for binary downloads; per-binary bucket overrides take precedence
global.binaryHoststring"https://storage.googleapis.com"Default host for binary downloads; per-binary host overrides take precedence
global.gitobject{"secretRef":{"key":"GIT_TOKEN","name":"","usernameKey":""},"token":"","username":""}Configuration for accessing private git repositories. Set either token to have the chart create a Secret, or secretRef.name to reference an existing Secret. The two fields are mutually exclusive.
global.git.secretRefobject{"key":"GIT_TOKEN","name":"","usernameKey":""}Reference to an existing Secret holding the git credentials, for users who would rather not put them in Helm values.
global.git.secretRef.keystring"GIT_TOKEN"Key in the existing Secret that holds the token.
global.git.secretRef.namestring""Name of the existing Secret. When set, the chart does not create its own git Secret.
global.git.secretRef.usernameKeystring""Optional key in the existing Secret that holds the username. Leave empty (the default) for token-only providers like GitHub.
global.git.tokenstring""Token used to access private git repositories. The chart creates a Secret to hold this value. Must NOT contain ‘:’ – use the username field above for username+password auth instead of embedding USERNAME:TOKEN in the token.
global.git.usernamestring""Username for git HTTPS basic auth. Leave empty for providers that accept the token as the username (e.g. GitHub PATs). Set for providers that require both a username and a token/password (e.g. GitLab): * GitLab Personal Access Token: username: oauth2 * GitLab Deploy Token: username: * GitLab user PAT: username: When set, both GIT_USERNAME and GIT_TOKEN are injected into the registry pod and the clone URL is built as https://:@host/path.git.
global.imagePullSecretslist[]Global Docker registry secret names
global.imageRegistrystring""Global container image registry override
hostAliaseslist[]Add custom entries to /etc/hosts
image.digeststring""Agent Registry Enterprise image digest (overrides tag if set)
image.namestring"server"Agent Registry Enterprise image name
image.pullPolicystring"IfNotPresent"Agent Registry Enterprise image pull policy
image.pullSecretslist[]Agent Registry Enterprise image pull secrets
image.registrystring"us-docker.pkg.dev"Agent Registry Enterprise image registry
image.repositorystring"agentregistry/enterprise"Agent Registry Enterprise image repository (org/path, excluding the image name)
image.tagstring""Agent Registry Enterprise image tag (immutable tags recommended)
kagent.outboundAuth.oidc.clientIdstring""OIDC client ID used by AgentRegistry when minting client-credentials tokens for outbound calls to kagent. The client must allow the OAuth2 client_credentials grant and be authorized by kagent’s RBAC mapping. Defaults to oidc.clientId in the server when empty.
kagent.outboundAuth.oidc.clientSecretstring""OIDC client secret used by AgentRegistry when minting client-credentials tokens for outbound calls to kagent. Defaults to oidc.clientSecret in the server when empty.
kagent.outboundAuth.oidc.insecureSkipVerifystring""Skip TLS certificate verification for outbound kagent token minting. Defaults to oidc.insecureSkipVerify in the server when empty.
kagent.outboundAuth.oidc.issuerstring""OIDC issuer URL used by AgentRegistry when minting client-credentials tokens for outbound calls to kagent. Defaults to oidc.issuer in the server when empty.
licensing.createSecretboolfalseWhen true, create a Secret from licenseKey. When false, use the existing Secret named by secretName. If you use your own Secret, changing the Secret will only take effect when you restart the deployment: kubectl -n agentregistry rollout restart deployment/agentregistry-enterprise-server
licensing.licenseKeystringnilEnterprise AgentRegistry license key. Required only when createSecret is true. Contact Sales if you do not have one.
licensing.secretNamestring"enterprise-agentregistry-license"Name of the Secret containing the Enterprise AgentRegistry license key. The Secret must contain the key enterprise-agentregistry-license-key.
lifecycleHooksobject{}Lifecycle hooks for the Agent Registry container
livenessProbe.enabledbooltrueEnable liveness probe
livenessProbe.failureThresholdint6Failure threshold for liveness check
livenessProbe.initialDelaySecondsint30Initial delay before liveness check
livenessProbe.periodSecondsint10Period between liveness checks
livenessProbe.successThresholdint1Success threshold for liveness check
livenessProbe.timeoutSecondsint5Timeout for the liveness check
nameOverridestring""Override the name of the chart
nodeAffinityPreset.keystring""Node label key for affinity
nodeAffinityPreset.typestring""Node affinity preset type (soft or hard)
nodeAffinityPreset.valueslist[]Node label values for affinity
nodeSelectorobject{}Node labels for pod assignment
oidc.additionalScopesstring""Additional OIDC scopes requested by the bundled browser UI login flow (space-separated, e.g. “groups”). The server does not request scopes.
oidc.clientIdstring""Backend OIDC client ID. Required by the server-side token validator.
oidc.clientSecretstring""Optional backend OIDC client secret. Used for token introspection when the identity provider exposes an introspection endpoint; not required for JWKS-based token validation.
oidc.insecureSkipVerifyboolfalseSkip TLS certificate verification (not recommended for production)
oidc.issuerstring""OIDC issuer URL. Required by the server for token validation and discovery during startup; also exposed to the bundled browser UI for login. Example: “https://keycloak.example.com/realms/my-realm"
oidc.publicClientIdstring""Browser UI OIDC client ID (public client, no secret). Required by the bundled UI login flow; the Go server does not use it for startup or token validation.
oidc.roleClaimstring"groups"Dot-path into JWT claims containing role names. The server converts this path into the CEL expression used to map JWT claims to registry RBAC roles. Only “.” is treated as a path separator; colons and other special characters are literal. Most deployments only need this field. Examples: “groups”, “realm_access.roles”, “cognito:groups”
oidc.roleMapperstring""Advanced override: CEL expression for mapping OIDC claims to RBAC roles. When set, takes precedence over roleClaim. Most deployments should use roleClaim instead. The expression references the JWT claim map as jwt so the same expression is consumable by agentgateway authorization rules. Example: “has(jwt["groups"]) ? jwt["groups"].map(g, string(g)) : []”
oidc.superuserRolestring""Role name that grants full registry admin access (superuser). Defaults to “admin” when empty.
podAffinityPresetstring""Pod affinity preset (soft or hard)
podAnnotationsobject{}Extra annotations for Agent Registry pods
podAntiAffinityPresetstring"soft"Pod anti-affinity preset (soft or hard)
podLabelsobject{}Extra labels for Agent Registry pods
podSecurityContext.enabledbooltrueEnable pod-level security context
podSecurityContext.fsGroupint0Group ID for the pod filesystem
podSecurityContext.fsGroupChangePolicystring"Always"Policy for changing fsGroup ownership
priorityClassNamestring""Priority class name for the Agent Registry pods
rbac.enabledbooltrueEnable RBAC resource creation
rbac.extraRuleslist[]Enterprise-only: extra rules appended to the Role or ClusterRole (e.g. for custom resources).
rbac.watchedNamespaceslist[]Namespaces Agent Registry is permitted to manage resources in. Empty list grants cluster-wide access via ClusterRole (default). Set to one or more namespaces to create a Role in each and restrict access accordingly. Note: read access to the cluster scoped APIs is always granted via ClusterRole regardless of this setting.
readinessProbe.enabledbooltrueEnable readiness probe
readinessProbe.failureThresholdint3Failure threshold for readiness check
readinessProbe.initialDelaySecondsint10Initial delay before readiness check
readinessProbe.periodSecondsint5Period between readiness checks
readinessProbe.successThresholdint1Success threshold for readiness check
readinessProbe.timeoutSecondsint3Timeout for the readiness check
replicaCountint1Number of Agent Registry replicas
resourcesobject{"limits":{"cpu":"1","memory":"1Gi"},"requests":{"cpu":"250m","memory":"256Mi"}}Resource requests and limits for the Agent Registry container
revisionHistoryLimitint10Number of old ReplicaSets to retain
schedulerNamestring""Name of the scheduler to use
secretStoreobject{"encryptionKeySecretRef":{"key":"SECRET_STORE_ENCRYPTION_KEY","name":""},"type":"Kubernetes"}Secret store configuration. Selects the install-global backend that persists Secret resource payloads.
secretStore.encryptionKeySecretRefobject{"key":"SECRET_STORE_ENCRYPTION_KEY","name":""}Reference to a pre-created Secret holding the AES-256 encryption key, required when type=Database. The operator creates this Secret; the chart only references it (the key is never generated or templated here).
secretStore.encryptionKeySecretRef.keystring"SECRET_STORE_ENCRYPTION_KEY"Key within that Secret holding the hex-encoded 32-byte AES-256 key.
secretStore.encryptionKeySecretRef.namestring""Name of the existing Secret in the install namespace.
secretStore.typestring"Kubernetes"Backend type: “Kubernetes” (stores payloads as core/v1.Secrets in the install namespace; relies on etcd encryption-at-rest) or “Database” (encrypts payloads in Postgres with an AES-256 key).
service.annotationsobject{}Service annotations
service.clusterIPstring""Specific cluster IP (set to None for headless)
service.externalTrafficPolicystring"Cluster"External traffic policy
service.loadBalancerIPstring""LoadBalancer IP
service.loadBalancerSourceRangeslist[]LoadBalancer allowed source ranges
service.nodePorts.grpcstring""NodePort for gRPC (when type is NodePort)
service.nodePorts.httpstring""NodePort for HTTP (when type is NodePort)
service.nodePorts.mcpstring""NodePort for MCP (when type is NodePort)
service.ports.grpcint21212Agent Gateway gRPC port
service.ports.httpint12121HTTP port
service.ports.mcpint31313MCP HTTP port
service.sessionAffinitystring"None"Session affinity (None or ClientIP)
service.sessionAffinityConfigobject{}Session affinity configuration
service.targetPorts.grpcint21212gRPC container target port
service.targetPorts.httpint8080HTTP container target port
service.targetPorts.mcpint31313MCP container target port
service.typestring"ClusterIP"Kubernetes Service type
serviceAccount.annotationsobject{}ServiceAccount annotations
serviceAccount.automountServiceAccountTokenbooltrueMount API token in the ServiceAccount
serviceAccount.createbooltrueCreate a dedicated ServiceAccount
serviceAccount.namestring""Override the auto-generated ServiceAccount name
startupProbe.enabledbooltrueEnable startup probe
startupProbe.failureThresholdint30Failure threshold for startup check (controls max startup time)
startupProbe.initialDelaySecondsint5Initial delay before startup check
startupProbe.periodSecondsint5Period between startup checks
startupProbe.successThresholdint1Success threshold for startup check
startupProbe.timeoutSecondsint3Timeout for the startup check
telemetryobject{"collector":{"affinity":{},"image":{"pullPolicy":"IfNotPresent","repository":"otel/opentelemetry-collector-contrib","tag":"0.148.0"},"livenessProbe":{"failureThreshold":3,"initialDelaySeconds":10,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":5},"nodeSelector":{},"readinessProbe":{"failureThreshold":3,"initialDelaySeconds":5,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":5},"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"100m","memory":"256Mi"}},"tolerations":[]},"enabled":true,"k8sobjects":{"enabled":false},"service":{"annotations":{},"type":"ClusterIP"}}OpenTelemetry Collector pipeline. Collects traces/logs/metrics and writes to ClickHouse.
telemetry.collector.affinityobject{}Affinity for the telemetry collector pod. Empty by default.
telemetry.collector.nodeSelectorobject{}Node selector for the telemetry collector pod. Empty by default.
telemetry.collector.tolerationslist[]Tolerations for the telemetry collector pod. Empty by default.
telemetry.enabledbooltrueDeploy the OTel Collector pipeline alongside Agent Registry
telemetry.k8sobjectsobject{"enabled":false}Enable the k8sobjects receiver (watches Kubernetes resource changes). Should only be enabled on one collector per cluster to avoid duplicate data.
telemetry.service.annotationsobject{}Service annotations (e.g. for AWS NLB configuration)
telemetry.service.typestring"ClusterIP"Kubernetes Service type for the OTel Collector
terminationGracePeriodSecondsstring""Seconds the pod needs to terminate gracefully
tolerationslist[]Tolerations for pod assignment
topologySpreadConstraintslist[]Topology spread constraints for pod assignment
volumeMountslist[]Additional volumeMounts on the output Deployment definition.
volumeslist[]Additional volumes on the output Deployment definition.