{ "$schema": "http://json-schema.org/schema#", "$defs": { "intOrString": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] } }, "type": "object", "title": "Values", "additionalProperties": false, "properties": { "enabled": { "description": "Usually used when using Opentelemetry-collector as a subchart.", "type": "boolean" }, "global": { "type": "object" }, "nameOverride": { "description": "Override name of the chart used in Kubernetes object names.", "type": "string" }, "fullnameOverride": { "description": "Override fully qualified app name.", "type": "string" }, "mode": { "type": "string", "enum": [ "daemonset", "deployment", "statefulset", "" ] }, "apiVersion": { "type": "string", "description": "Override the default apiVersion for custom controllers or testing new API versions. Applies to daemonset, deployment, and statefulset modes." }, "namespaceOverride": { "type": "string", "description": "Name of the namespace to deploy the resources into." }, "externalSecret": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "key": { "type": "string" }, "secretStoreRef": { "type": "object", "properties": { "name": { "type": "string" } } } } }, "presets": { "type": "object", "additionalProperties": false, "properties": { "logsCollection": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the collector should collect logs.", "type": "boolean" }, "includeCollectorLogs": { "description": "Specifies whether the collector should collect its own logs.", "type": "boolean" }, "storeCheckpoints": { "description": "Specifies whether logs checkpoints should be stored in /var/lib/otelcol/ host directory.", "type": "boolean" }, "maxRecombineLogSize": { "description": "Specifies the max recombine log size.", "type": "integer" } } }, "hostMetrics": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the collector should collect host metrics.", "type": "boolean" } } }, "kubeletMetrics": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the collector should collect kubelet metrics.", "type": "boolean" } } }, "kubernetesAttributes": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the collector should add Kubernetes metdata to resource attributes.", "type": "boolean" }, "extractAllPodLabels": { "description": "Specifies whether the k8sattributes processor should extract all pod labels.", "type": "boolean" }, "extractAllPodAnnotations": { "description": "Specifies whether the k8sattributes processor should extract all pod annotations.", "type": "boolean" } } }, "kubernetesEvents": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the collector should collect Kubernetes events.", "type": "boolean" } } }, "kubernetesObjects": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the collector should collect Kubernetes objects via the k8sobjects receiver.", "type": "boolean" }, "disableLeaderElection": { "description": "Specifies whether the collector should use leader election extension to collect Kubernetes objects when in daemonset mode.", "type": "boolean" }, "watch": { "description": "Specifies whether the collector should also collect Kubernetes objects in watch mode. When false (default), only pull mode is used.", "type": "boolean" }, "core": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether core resources (pods, nodes, namespaces, services, serviceaccounts, deployments, replicasets, daemonsets, statefulsets, jobs, cronjobs) should be collected.", "type": "boolean" } } }, "rbac": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether RBAC resources (roles, rolebindings, clusterroles, clusterrolebindings) should be collected.", "type": "boolean" } } }, "storage": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether storage resources (storageclasses, persistentvolumes, persistentvolumeclaims) should be collected.", "type": "boolean" } } }, "networking": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether networking resources (ingresses, networkpolicies) should be collected.", "type": "boolean" } } }, "autoscaling": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether autoscaling resources (horizontalpodautoscalers) should be collected.", "type": "boolean" }, "vpa": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether verticalpodautoscalers should be collected. Requires VPA CRD to be installed.", "type": "boolean" } } } } }, "policy": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether policy resources (poddisruptionbudgets) should be collected.", "type": "boolean" } } }, "apiExtensions": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether API extensions resources (customresourcedefinitions) should be collected.", "type": "boolean" } } } } }, "clusterMetrics": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the collector should collect cluster metrics.", "type": "boolean" }, "disableLeaderElection": { "description": "Specifies whether the collector should use leader election extension to collect cluster metrics.", "type": "boolean" } } }, "annotationDiscovery": { "type": "object", "additionalProperties": false, "properties": { "logs": { "enabled": { "description": "Specifies whether the collector should collect logs.", "type": "boolean" } }, "metrics": { "enabled": { "description": "Specifies whether the collector should collect metrics.", "type": "boolean" } } } }, "resourceDetection": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the resourceDetection preset is enabled. When false, no resourcedetection/env processor is added regardless of individual detector settings.", "type": "boolean" }, "env": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the env resource detector should be enabled.", "type": "boolean" } } }, "k8snode": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the k8snode resource detector should be enabled.", "type": "boolean" } } }, "eks": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the EKS resource detector should be enabled.", "type": "boolean" } } }, "aks": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the AKS resource detector should be enabled.", "type": "boolean" } } }, "gcp": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the GCP resource detector should be enabled.", "type": "boolean" } } } } }, "profiling": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the collector should collect profiling data.", "type": "boolean" } } } } }, "configMap": { "type": "object", "properties": { "create": { "description": "Specifies whether a configMap should be created (true by default).", "type": "boolean" }, "existingName": { "description": "Specifies an existing configMap to be mounted to the pod", "type": "string" }, "existingPath": { "description": "Relative path to the template file used to generate a custom configMap. Needed for pod restart on custom config change.", "type": "string" } } }, "alternateConfig": { "description": "When not empty, will be used instead of config. Presets will be merged in the same way they are for config.", "type": "object" }, "config": { "description": "Configuration that applies to both standalone and agent collector. Overwritable by standalone and agent specific configs.", "type": "object" }, "image": { "description": "Image use in both standalone and agent configs", "type": "object", "additionalProperties": false, "properties": { "registry": { "type": "string" }, "repository": { "type": "string" }, "tag": { "type": "string" }, "digest": { "type": "string" }, "pullPolicy": { "type": "string", "enum": [ "IfNotPresent", "Always", "Never" ] } } }, "imagePullSecrets": { "type": "array", "items": { "type": "object" } }, "command": { "description": "OpenTelemetry Collector executable", "type": "object", "additionalProperties": false, "properties": { "name": { "type": "string" }, "extraArgs": { "type": "array", "items": { "type": "string" } } } }, "serviceAccount": { "type": "object", "additionalProperties": false, "properties": { "create": { "type": "boolean" }, "annotations": { "type": "object" }, "name": { "type": "string" }, "automountServiceAccountToken": { "type": "boolean" } }, "required": [ "create" ] }, "clusterRole": { "type": "object", "additionalProperties": false, "properties": { "create": { "type": "boolean" }, "annotations": { "type": "object" }, "name": { "type": "string" }, "rules": { "type": "array", "items": { "type": "object" } }, "clusterRoleBinding": { "type": "object", "additionalProperties": false, "properties": { "annotations": { "type": "object" }, "name": { "type": "string" } } } }, "required": [ "create" ] }, "podSecurityContext": { "type": "object" }, "securityContext": { "type": "object" }, "nodeSelector": { "type": "object" }, "tolerations": { "type": "array", "items": { "type": "object" } }, "affinity": { "type": "object" }, "topologySpreadConstraints": { "type": "array", "items": { "type": "object" } }, "priorityClassName": { "type": "string" }, "runtimeClassName": { "type": "string" }, "extraContainers": { "type": "array", "items": { "type": "object", "additionalProperties": true, "properties": { "name": { "type": "string" } }, "required": [ "name" ] } }, "initContainers": { "type": "array", "items": { "type": "object", "additionalProperties": true, "properties": { "name": { "type": "string" } }, "required": [ "name" ] } }, "extraEnvs": { "type": "array", "items": { "type": "object" } }, "extraEnvsFrom": { "type": "array", "items": { "type": "object" } }, "extraVolumes": { "type": "array", "items": { "type": "object" } }, "extraVolumeMounts": { "type": "array", "items": { "type": "object" } }, "extraManifests": { "type": "array", "items": { "type": "object" } }, "ports": { "type": "object", "patternProperties": { ".*": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "type": "boolean" }, "containerPort": { "type": "integer" }, "servicePort": { "type": "integer" }, "hostPort": { "type": "integer" }, "nodePort": { "type": "integer" }, "protocol": { "type": "string" }, "appProtocol": { "type": "string" } }, "required": [ "enabled" ] } } }, "resizePolicy": { "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "resourceName": { "type": "string" }, "restartPolicy": { "type": "string", "enum": [ "NotRequired", "RestartContainer" ] } }, "required": [ "resourceName", "restartPolicy" ] } }, "resources": { "type": "object", "additionalProperties": false, "properties": { "limits": { "type": "object", "additionalProperties": false, "properties": { "cpu": { "type": [ "string", "integer" ] }, "ephemeral-storage": { "type": "string" }, "memory": { "type": "string" } } }, "requests": { "type": "object", "additionalProperties": false, "properties": { "cpu": { "type": [ "string", "integer" ] }, "ephemeral-storage": { "type": "string" }, "memory": { "type": "string" } } } } }, "lifecycleHooks": { "type": "object", "additionalProperties": false, "properties": { "postStart": { "type": "object", "additionalProperties": false, "properties": { "exec": { "type": "object", "additionalProperties": false, "properties": { "command": { "type": "array", "items": { "type": "string" } } } }, "httpGet": { "type": "object", "additionalProperties": false, "properties": { "host": { "type": "string" }, "httpHeaders": { "type": "array" }, "path": { "type": "string" }, "port": { "type": "integer" }, "scheme": { "type": "string" } } } }, "oneOf": [ { "required": [ "exec" ] }, { "required": [ "httpGet" ] } ] }, "preStop": { "type": "object", "additionalProperties": false, "properties": { "exec": { "type": "object", "additionalProperties": false, "properties": { "command": { "type": "array", "items": { "type": "string" } } } }, "httpGet": { "type": "object", "additionalProperties": false, "properties": { "host": { "type": "string" }, "httpHeaders": { "type": "array" }, "path": { "type": "string" }, "port": { "type": "integer" }, "scheme": { "type": "string" } } }, "sleep": { "type": "object", "additionalProperties": false, "properties": { "seconds": { "type": "integer" } } } }, "oneOf": [ { "required": [ "exec" ] }, { "required": [ "httpGet" ] }, { "required": [ "sleep" ] } ] } } }, "livenessProbe": { "type": "object", "additionalProperties": false, "properties": { "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" }, "timeoutSeconds": { "type": "integer" }, "failureThreshold": { "type": "integer" }, "terminationGracePeriodSeconds": { "type": "integer" }, "httpGet": { "type": "object", "additionalProperties": false, "properties": { "port": { "type": "integer" }, "path": { "type": "string" } } } } }, "readinessProbe": { "type": "object", "additionalProperties": false, "properties": { "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" }, "timeoutSeconds": { "type": "integer" }, "successThreshold": { "type": "integer" }, "failureThreshold": { "type": "integer" }, "httpGet": { "type": "object", "additionalProperties": false, "properties": { "port": { "type": "integer" }, "path": { "type": "string" } } } } }, "startupProbe": { "type": "object", "additionalProperties": false, "properties": { "initialDelaySeconds": { "type": "integer" }, "periodSeconds": { "type": "integer" }, "timeoutSeconds": { "type": "integer" }, "failureThreshold": { "type": "integer" }, "terminationGracePeriodSeconds": { "type": "integer" }, "httpGet": { "type": "object", "additionalProperties": false, "properties": { "port": { "type": "integer" }, "path": { "type": "string" } } } } }, "enableConfigChecksumAnnotation": { "type": "boolean" }, "podAnnotations": { "type": "object" }, "podLabels": { "type": "object" }, "additionalLabels": { "type": "object" }, "hostNetwork": { "type": "boolean" }, "hostPID": { "type": "boolean" }, "hostAliases": { "type": "array", "items": { "type": "object" } }, "dnsPolicy": { "type": "string", "enum": [ "ClusterFirst", "ClusterFirstWithHostNet", "Default", "None", "" ] }, "dnsConfig": { "type": "object" }, "schedulerName": { "type": "string" }, "replicaCount": { "type": "integer" }, "revisionHistoryLimit": { "type": "integer" }, "annotations": { "type": "object" }, "service": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "type": "boolean" }, "trafficDistribution": { "type": "string", "enum": [ "PreferClose", "PreferSameZone", "PreferSameNode" ] }, "type": { "type": "string", "enum": [ "ClusterIP", "NodePort", "LoadBalancer", "ExternalName" ] }, "clusterIP": { "type": "string" }, "loadBalancerIP": { "type": "string" }, "loadBalancerSourceRanges": { "type": "array", "items": { "type": "string" } }, "annotations": { "type": "object" }, "internalTrafficPolicy": { "type": "string", "enum": [ "Cluster", "Local", "" ] }, "externalTrafficPolicy": { "type": "string", "enum": [ "Cluster", "Local", "" ] } } }, "ingress": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "type": "boolean" }, "ingressClassName": { "type": "string" }, "annotations": { "type": "object" }, "hosts": { "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "host": { "type": "string" }, "paths": { "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "path": { "type": "string" }, "pathType": { "type": "string", "enum": [ "Exact", "Prefix", "ImplementationSpecific" ] }, "port": { "type": "integer" } }, "required": [ "path", "pathType", "port" ] } } }, "required": [ "paths" ] } }, "tls": { "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "secretName": { "type": "string" }, "hosts": { "type": "array", "items": { "type": "string" } } } } }, "additionalIngresses": { "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "name": { "type": "string" }, "ingressClassName": { "type": "string" }, "annotations": { "type": "object" }, "hosts": { "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "host": { "type": "string" }, "paths": { "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "path": { "type": "string" }, "pathType": { "type": "string", "enum": [ "Exact", "Prefix", "ImplementationSpecific" ] }, "port": { "type": "integer" } }, "required": [ "path", "pathType", "port" ] } } }, "required": [ "paths" ] } }, "tls": { "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "secretName": { "type": "string" }, "hosts": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "name" ] } } }, "required": [ "enabled" ] }, "podMonitor": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "metricsEndpoints": { "type": "array", "items": { "type": "object" } }, "extraLabels": { "type": "object" } }, "required": [ "enabled" ] }, "serviceMonitor": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "metricsEndpoints": { "type": "array", "items": { "type": "object" } }, "extraLabels": { "type": "object" }, "relabelings": { "type": "array", "description": "The relabelings Schema", "default": [], "items": {} }, "metricRelabelings": { "type": "array", "default": [], "title": "The metricRelabelings Schema", "items": {}, "examples": [ [] ] } }, "required": [ "enabled" ] }, "podDisruptionBudget": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "required": [ "enabled" ] }, "autoscaling": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "minReplicas": { "type": "integer" }, "maxReplicas": { "type": "integer" }, "behavior": { "type": "object" }, "targetCPUUtilizationPercentage": { "type": "integer" }, "additionalMetrics": { "type": "array", "items": { "type": "object" } } }, "required": [ "enabled" ] }, "rollout": { "type": "object", "properties": { "rollingUpdate": { "type": "object", "properties": { "maxSurge": { "$ref": "#/$defs/intOrString" }, "maxUnavailable": { "$ref": "#/$defs/intOrString" } } }, "strategy": { "type": "string", "enum": [ "OnDelete", "Recreate", "RollingUpdate" ], "default": "RollingUpdate" } }, "required": [ "strategy" ] }, "prometheusRule": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "groups": { "type": "array", "items": { "type": "object" } }, "defaultRules": { "type": "object", "required": [ "enabled", "additionalRuleLabels", "additionalRuleAnnotations" ], "properties": { "enabled": { "type": "boolean", "default": false, "examples": [ false ] }, "additionalRuleLabels": { "type": "object", "default": {}, "required": [], "properties": {}, "examples": [ {} ] }, "additionalRuleAnnotations": { "type": "object", "default": {}, "required": [], "properties": {}, "examples": [ {} ] } }, "examples": [ { "enabled": false, "additionalRuleLabels": {}, "additionalRuleAnnotations": {} } ] }, "extraLabels": { "type": "object" } }, "required": [ "enabled" ] }, "statefulset": { "type": "object", "properties": { "volumeClaimTemplates": { "type": "array", "items": { "type": "object" } }, "podManagementPolicy": { "type": "string" } } }, "networkPolicy": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "type": "boolean" }, "annotations": { "type": "object" }, "allowIngressFrom": { "type": "array", "description": "List of sources which should be able to access the collector. See the standard NetworkPolicy 'spec.ingress.from' definition for more information: https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/network-policy-v1/. If left empty, ingress traffic will be permitted on to all enabled ports from all sources.", "items": { "type": "object" } }, "extraIngressRules": { "type": "array", "description": "Additional ingress rules to apply to the policy. See the standard NetworkPolicy 'spec.ingress' definition for more information: https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/network-policy-v1/", "items": { "type": "object" } }, "egressRules": { "description": "Optional egress configuration, see the standard NetworkPolicy 'spec.egress' definition for more information: https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/network-policy-v1/", "type": "array", "items": { "type": "object" } } } }, "internalTelemetryViaOTLP": { "type": "object", "additionalProperties": false, "properties": { "endpoint": { "type": "string" }, "headers": { "type": "array", "items": { "type": "object", "required": [ "name", "value" ], "properties": { "name": { "type": "string" } } } }, "traces": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "type": "boolean" }, "endpoint": { "type": "string" }, "headers": { "type": "array", "items": { "type": "object", "required": [ "name", "value" ], "properties": { "name": { "type": "string" } } } } } }, "metrics": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "type": "boolean" }, "endpoint": { "type": "string" }, "headers": { "type": "array", "items": { "type": "object", "required": [ "name", "value" ], "properties": { "name": { "type": "string" } } } } } }, "logs": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "type": "boolean" }, "endpoint": { "type": "string" }, "headers": { "type": "array", "items": { "type": "object", "required": [ "name", "value" ], "properties": { "name": { "type": "string" } } } } } } } }, "useGOMEMLIMIT": { "type": "boolean" }, "shareProcessNamespace": { "type": "boolean" }, "terminationGracePeriodSeconds": { "type": "integer", "description": "Grace period in seconds for pod termination." } }, "required": [ "apiVersion", "mode" ] }