KubeZero/charts/kubezero-telemetry/charts/opentelemetry-collector/values.schema.json

990 lines
25 KiB
JSON

{
"$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"
},
"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"
}
},
"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"
}
}
}
}
},
"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"
}
}
}
}
},
"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"
},
"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"
}
},
"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"
},
"shareProcessNamespace": {
"type": "boolean"
}
},
"required": ["mode"]
}