{ "$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", ""] }, "namespaceOverride": { "type": "string", "description": "Name of the namespace to deploy the resources into." }, "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 objects.", "type": "boolean" } } }, "clusterMetrics": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "description": "Specifies whether the collector should collect cluster metrics.", "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" } } }, "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" } }, "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" }, "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" } }, "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"] } } }, "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" } } } }, "oneOf": [ { "required": ["exec"] }, { "required": ["httpGet"] } ] } } }, "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" } } } } }, "podAnnotations": { "type": "object" }, "podLabels": { "type": "object" }, "additionalLabels": { "type": "object" }, "hostNetwork": { "type": "boolean" }, "hostAliases": { "type": "array", "items": { "type": "object" } }, "dnsPolicy": { "type": "string", "enum": ["ClusterFirst", "ClusterFirstWithHostNet", "Default", "None", ""] }, "dnsConfig": { "type": "object" }, "replicaCount": { "type": "integer" }, "revisionHistoryLimit": { "type": "integer" }, "annotations": { "type": "object" }, "service": { "type": "object", "additionalProperties": false, "properties": { "enabled": { "type": "boolean" }, "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" } }, "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" } }, "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", "properties": { "enabled": { "type": "boolean" } }, "required": ["enabled"] }, "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" } } } }, "useGOMEMLIMIT": { "type": "boolean" } }, "required": ["mode"] }