{ "title": "Chart Values", "type": "object", "properties": { "global": { "type": "object", "properties": { "imageRegistry": { "type": "string", "description": "Global Docker image registry", "default": "" }, "imagePullSecrets": { "type": "array", "description": "Global Docker registry secret names as an array", "default": [], "items": {} }, "storageClass": { "type": "string", "description": "Global StorageClass for Persistent Volume(s)", "default": "" } } }, "kubeVersion": { "type": "string", "description": "Override Kubernetes version", "default": "" }, "nameOverride": { "type": "string", "description": "String to partially override common.names.name", "default": "" }, "fullnameOverride": { "type": "string", "description": "String to fully override common.names.fullname", "default": "" }, "namespaceOverride": { "type": "string", "description": "String to fully override common.names.namespace", "default": "" }, "commonLabels": { "type": "object", "description": "Labels to add to all deployed objects", "default": {} }, "commonAnnotations": { "type": "object", "description": "Annotations to add to all deployed objects", "default": {} }, "clusterDomain": { "type": "string", "description": "Kubernetes cluster domain name", "default": "cluster.local" }, "extraDeploy": { "type": "array", "description": "Array of extra objects to deploy with the release", "default": [], "items": {} }, "diagnosticMode": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable diagnostic mode (all probes will be disabled and the command will be overridden)", "default": false }, "command": { "type": "array", "description": "Command to override all containers in the deployment", "default": [ "sleep" ], "items": { "type": "string" } }, "args": { "type": "array", "description": "Args to override all containers in the deployment", "default": [ "infinity" ], "items": { "type": "string" } } } }, "ingress": { "type": "object", "properties": { "apiVersion": { "type": "string", "description": "Force Ingress API version (automatically detected if not set)", "default": "" } } }, "alertmanager": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Alertmanager enabled", "default": true }, "image": { "type": "object", "properties": { "registry": { "type": "string", "description": "Alertmanager image registry", "default": "docker.io" }, "repository": { "type": "string", "description": "Alertmanager image repository", "default": "bitnami/alertmanager" }, "tag": { "type": "string", "description": "Alertmanager image tag (immutable tags are recommended)", "default": "0.25.0-debian-11-r48" }, "digest": { "type": "string", "description": "Alertmanager image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)", "default": "" }, "pullPolicy": { "type": "string", "description": "Alertmanager image pull policy", "default": "IfNotPresent" }, "pullSecrets": { "type": "array", "description": "Alertmanager image pull secrets", "default": [], "items": {} } } }, "configuration": { "type": "string", "description": "Alertmanager configuration. This content will be stored in the the alertmanager.yaml file and the content can be a template.", "default": "receivers:\n - name: default-receiver\nroute:\n group_wait: 10s\n group_interval: 5m\n receiver: default-receiver\n repeat_interval: 3h\n" }, "replicaCount": { "type": "number", "description": "Number of Alertmanager replicas to deploy", "default": 1 }, "containerPorts": { "type": "object", "properties": { "http": { "type": "number", "description": "Alertmanager HTTP container port", "default": 9093 }, "cluster": { "type": "number", "description": "Alertmanager Cluster HA port", "default": 9094 } } }, "livenessProbe": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable livenessProbe on Alertmanager containers", "default": true }, "initialDelaySeconds": { "type": "number", "description": "Initial delay seconds for livenessProbe", "default": 5 }, "periodSeconds": { "type": "number", "description": "Period seconds for livenessProbe", "default": 20 }, "timeoutSeconds": { "type": "number", "description": "Timeout seconds for livenessProbe", "default": 3 }, "failureThreshold": { "type": "number", "description": "Failure threshold for livenessProbe", "default": 3 }, "successThreshold": { "type": "number", "description": "Success threshold for livenessProbe", "default": 1 } } }, "readinessProbe": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable readinessProbe on Alertmanager containers", "default": true }, "initialDelaySeconds": { "type": "number", "description": "Initial delay seconds for readinessProbe", "default": 5 }, "periodSeconds": { "type": "number", "description": "Period seconds for readinessProbe", "default": 10 }, "timeoutSeconds": { "type": "number", "description": "Timeout seconds for readinessProbe", "default": 2 }, "failureThreshold": { "type": "number", "description": "Failure threshold for readinessProbe", "default": 5 }, "successThreshold": { "type": "number", "description": "Success threshold for readinessProbe", "default": 1 } } }, "startupProbe": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable startupProbe on Alertmanager containers", "default": false }, "initialDelaySeconds": { "type": "number", "description": "Initial delay seconds for startupProbe", "default": 2 }, "periodSeconds": { "type": "number", "description": "Period seconds for startupProbe", "default": 5 }, "timeoutSeconds": { "type": "number", "description": "Timeout seconds for startupProbe", "default": 2 }, "failureThreshold": { "type": "number", "description": "Failure threshold for startupProbe", "default": 10 }, "successThreshold": { "type": "number", "description": "Success threshold for startupProbe", "default": 1 } } }, "customLivenessProbe": { "type": "object", "description": "Custom livenessProbe that overrides the default one", "default": {} }, "customReadinessProbe": { "type": "object", "description": "Custom readinessProbe that overrides the default one", "default": {} }, "customStartupProbe": { "type": "object", "description": "Custom startupProbe that overrides the default one", "default": {} }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "description": "The resources limits for the Alertmanager containers", "default": {} }, "requests": { "type": "object", "description": "The requested resources for the Alertmanager containers", "default": {} } } }, "podSecurityContext": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enabled Alertmanager pods' Security Context", "default": true }, "fsGroup": { "type": "number", "description": "Set Alertmanager pod's Security Context fsGroup", "default": 1001 } } }, "containerSecurityContext": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enabled Alertmanager containers' Security Context", "default": true }, "runAsUser": { "type": "number", "description": "Set Alertmanager containers' Security Context runAsUser", "default": 1001 }, "runAsNonRoot": { "type": "boolean", "description": "Set Alertmanager containers' Security Context runAsNonRoot", "default": true }, "readOnlyRootFilesystem": { "type": "boolean", "description": "Set Alertmanager containers' Security Context runAsNonRoot", "default": false } } }, "existingConfigmap": { "type": "string", "description": "The name of an existing ConfigMap with your custom configuration for Alertmanager", "default": "" }, "existingConfigmapKey": { "type": "string", "description": "The name of the key with the Alertmanager config file", "default": "" }, "command": { "type": "array", "description": "Override default container command (useful when using custom images)", "default": [], "items": {} }, "args": { "type": "array", "description": "Override default container args (useful when using custom images)", "default": [], "items": {} }, "extraArgs": { "type": "array", "description": "Additional arguments passed to the Prometheus server container", "default": [], "items": {} }, "hostAliases": { "type": "array", "description": "Alertmanager pods host aliases", "default": [], "items": {} }, "podLabels": { "type": "object", "description": "Extra labels for Alertmanager pods", "default": {} }, "podAnnotations": { "type": "object", "description": "Annotations for Alertmanager pods", "default": {} }, "podAffinityPreset": { "type": "string", "description": "Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`", "default": "" }, "podAntiAffinityPreset": { "type": "string", "description": "Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`", "default": "soft" }, "pdb": { "type": "object", "properties": { "create": { "type": "boolean", "description": "Enable/disable a Pod Disruption Budget creation", "default": false }, "minAvailable": { "type": "number", "description": "Minimum number/percentage of pods that should remain scheduled", "default": 1 }, "maxUnavailable": { "type": "string", "description": "Maximum number/percentage of pods that may be made unavailable", "default": "" } } }, "nodeAffinityPreset": { "type": "object", "properties": { "type": { "type": "string", "description": "Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`", "default": "" }, "key": { "type": "string", "description": "Node label key to match. Ignored if `affinity` is set", "default": "" }, "values": { "type": "array", "description": "Node label values to match. Ignored if `affinity` is set", "default": [], "items": {} } } }, "affinity": { "type": "object", "description": "Affinity for Alertmanager pods assignment", "default": {} }, "nodeSelector": { "type": "object", "description": "Node labels for Alertmanager pods assignment", "default": {} }, "tolerations": { "type": "array", "description": "Tolerations for Alertmanager pods assignment", "default": [], "items": {} }, "updateStrategy": { "type": "object", "properties": { "type": { "type": "string", "description": "Alertmanager statefulset strategy type", "default": "RollingUpdate" } } }, "podManagementPolicy": { "type": "string", "description": "Statefulset Pod management policy, it needs to be Parallel to be able to complete the cluster join", "default": "OrderedReady" }, "priorityClassName": { "type": "string", "description": "Alertmanager pods' priorityClassName", "default": "" }, "topologySpreadConstraints": { "type": "array", "description": "Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template", "default": [], "items": {} }, "schedulerName": { "type": "string", "description": "Name of the k8s scheduler (other than default) for Alertmanager pods", "default": "" }, "terminationGracePeriodSeconds": { "type": "string", "description": "Seconds Redmine pod needs to terminate gracefully", "default": "" }, "lifecycleHooks": { "type": "object", "description": "for the Alertmanager container(s) to automate configuration before or after startup", "default": {} }, "extraEnvVars": { "type": "array", "description": "Array with extra environment variables to add to Alertmanager nodes", "default": [], "items": {} }, "extraEnvVarsCM": { "type": "string", "description": "Name of existing ConfigMap containing extra env vars for Alertmanager nodes", "default": "" }, "extraEnvVarsSecret": { "type": "string", "description": "Name of existing Secret containing extra env vars for Alertmanager nodes", "default": "" }, "extraVolumes": { "type": "array", "description": "Optionally specify extra list of additional volumes for the Alertmanager pod(s)", "default": [], "items": {} }, "extraVolumeMounts": { "type": "array", "description": "Optionally specify extra list of additional volumeMounts for the Alertmanager container(s)", "default": [], "items": {} }, "sidecars": { "type": "array", "description": "Add additional sidecar containers to the Alertmanager pod(s)", "default": [], "items": {} }, "initContainers": { "type": "array", "description": "Add additional init containers to the Alertmanager pod(s)", "default": [], "items": {} }, "ingress": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable ingress record generation for Alertmanager", "default": false }, "pathType": { "type": "string", "description": "Ingress path type", "default": "ImplementationSpecific" }, "hostname": { "type": "string", "description": "Default host for the ingress record", "default": "alertmanager.prometheus.local" }, "ingressClassName": { "type": "string", "description": "IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)", "default": "" }, "path": { "type": "string", "description": "Default path for the ingress record", "default": "/" }, "annotations": { "type": "object", "description": "Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.", "default": {} }, "tls": { "type": "boolean", "description": "Enable TLS configuration for the host defined at `ingress.hostname` parameter", "default": false }, "selfSigned": { "type": "boolean", "description": "Create a TLS secret for this ingress record using self-signed certificates generated by Helm", "default": false }, "extraHosts": { "type": "array", "description": "An array with additional hostname(s) to be covered with the ingress record", "default": [], "items": {} }, "extraPaths": { "type": "array", "description": "An array with additional arbitrary paths that may need to be added to the ingress under the main host", "default": [], "items": {} }, "extraTls": { "type": "array", "description": "TLS configuration for additional hostname(s) to be covered with this ingress record", "default": [], "items": {} }, "secrets": { "type": "array", "description": "Custom TLS certificates as secrets", "default": [], "items": {} }, "extraRules": { "type": "array", "description": "Additional rules to be covered with this ingress record", "default": [], "items": {} } } }, "serviceAccount": { "type": "object", "properties": { "create": { "type": "boolean", "description": "Specifies whether a ServiceAccount should be created", "default": true }, "name": { "type": "string", "description": "The name of the ServiceAccount to use.", "default": "" }, "annotations": { "type": "object", "description": "Additional Service Account annotations (evaluated as a template)", "default": {} }, "automountServiceAccountToken": { "type": "boolean", "description": "Automount service account token for the server service account", "default": true } } }, "service": { "type": "object", "properties": { "type": { "type": "string", "description": "Alertmanager service type", "default": "LoadBalancer" }, "ports": { "type": "object", "properties": { "http": { "type": "number", "description": "Alertmanager service HTTP port", "default": 80 }, "cluster": { "type": "number", "description": "Alertmanager cluster HA port", "default": 9094 } } }, "nodePorts": { "type": "object", "properties": { "http": { "type": "string", "description": "Node port for HTTP", "default": "" } } }, "clusterIP": { "type": "string", "description": "Alertmanager service Cluster IP", "default": "" }, "loadBalancerIP": { "type": "string", "description": "Alertmanager service Load Balancer IP", "default": "" }, "loadBalancerSourceRanges": { "type": "array", "description": "Alertmanager service Load Balancer sources", "default": [], "items": {} }, "externalTrafficPolicy": { "type": "string", "description": "Alertmanager service external traffic policy", "default": "Cluster" }, "annotations": { "type": "object", "description": "Additional custom annotations for Alertmanager service", "default": {} }, "extraPorts": { "type": "array", "description": "Extra ports to expose in Alertmanager service (normally used with the `sidecars` value)", "default": [], "items": {} }, "sessionAffinity": { "type": "string", "description": "Control where client requests go, to the same pod or round-robin", "default": "None" }, "sessionAffinityConfig": { "type": "object", "description": "Additional settings for the sessionAffinity", "default": {} } } }, "persistence": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable Alertmanager data persistence using VolumeClaimTemplates", "default": false }, "mountPath": { "type": "string", "description": "Path to mount the volume at.", "default": "/bitnami/alertmanager/data" }, "subPath": { "type": "string", "description": "The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services", "default": "" }, "storageClass": { "type": "string", "description": "PVC Storage Class for Concourse worker data volume", "default": "" }, "accessModes": { "type": "array", "description": "PVC Access Mode for Concourse worker volume", "default": [ "ReadWriteOnce" ], "items": { "type": "string" } }, "size": { "type": "string", "description": "PVC Storage Request for Concourse worker volume", "default": "8Gi" }, "annotations": { "type": "object", "description": "Annotations for the PVC", "default": {} }, "selector": { "type": "object", "description": "Selector to match an existing Persistent Volume (this value is evaluated as a template)", "default": {} } } } } }, "server": { "type": "object", "properties": { "image": { "type": "object", "properties": { "registry": { "type": "string", "description": "Prometheus image registry", "default": "docker.io" }, "repository": { "type": "string", "description": "Prometheus image repository", "default": "bitnami/prometheus" }, "tag": { "type": "string", "description": "Prometheus image tag (immutable tags are recommended)", "default": "2.44.0-debian-11-r0" }, "digest": { "type": "string", "description": "Prometheus image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag image tag (immutable tags are recommended)", "default": "" }, "pullPolicy": { "type": "string", "description": "Prometheus image pull policy", "default": "IfNotPresent" }, "pullSecrets": { "type": "array", "description": "Prometheus image pull secrets", "default": [], "items": {} } } }, "configuration": { "type": "string", "description": "Promethus configuration. This content will be stored in the the prometheus.yaml file and the content can be a template.", "default": "global:\n {{- if .Values.server.scrapeInterval }}\n scrape_interval: {{ .Values.server.scrapeInterval }}\n {{- end }}\n {{- if .Values.server.scrapeTimeout }}\n scrape_timeout: {{ .Values.server.scrapeTimeout }}\n {{- end }}\n {{- if .Values.server.evaluationInterval }}\n evaluation_interval: {{ .Values.server.evaluationInterval }}\n {{- end }}\n external_labels:\n monitor: {{ template \"common.names.fullname\" . }}\n {{- if .Values.server.externalLabels }}\n {{- include \"common.tplvalues.render\" (dict \"value\" .Values.server.externalLabels \"context\" $) | nindent 4 }}\n {{- end }}\n{{- if .Values.server.remoteWrite }}\nremote_write: {{- include \"common.tplvalues.render\" (dict \"value\" .Values.server.remoteWrite \"context\" $) | nindent 4 }}\n{{- end }}\nscrape_configs:\n - job_name: prometheus\n {{- include \"prometheus.scrape_config\" (dict \"component\" \"server\" \"context\" $) | nindent 4 }}\n{{- if .Values.alertmanager.enabled }}\n - job_name: alertmanager\n {{- include \"prometheus.scrape_config\" (dict \"component\" \"alertmanager\" \"context\" $) | nindent 4 }}\n{{- end }}\n{{- if .Values.server.extraScrapeConfigs}}\n{{- include \"common.tplvalues.render\" (dict \"value\" .Values.server.extraScrapeConfigs \"context\" $) | nindent 2 }}\n{{- end }}\n{{- if or .Values.alertmanager.enabled .Values.server.alertingEndpoints}}\nalerting:\n alertmanagers:\n {{- if .Values.server.alertingEndpoints }}\n {{- include \"common.tplvalues.render\" (dict \"value\" .Values.server.alertingEndpoints \"context\" $) | nindent 4 }}\n {{- end }}\n - scheme: HTTP\n static_configs:\n - targets: [ {{ printf \"%s:%d\" (include \"prometheus.alertmanager.fullname\" .) (int .Values.alertmanager.service.ports.http) }}]\nrule_files:\n - rules.yaml\n{{- end }}\n" }, "alertingRules": { "type": "object", "description": "Prometheus alerting rules. This content will be stored in the the rules.yaml file and the content can be a template.", "default": {} }, "extraScrapeConfigs": { "type": "array", "description": "Promethus configuration, useful to declare new scrape_configs. This content will be merged with the 'server.configuration' value and stored in the the prometheus.yaml file.", "default": [], "items": {} }, "replicaCount": { "type": "number", "description": "Number of Prometheus replicas to deploy", "default": 1 }, "containerPorts": { "type": "object", "properties": { "http": { "type": "number", "description": "Prometheus HTTP container port", "default": 9090 } } }, "livenessProbe": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable livenessProbe on Prometheus containers", "default": true }, "initialDelaySeconds": { "type": "number", "description": "Initial delay seconds for livenessProbe", "default": 5 }, "periodSeconds": { "type": "number", "description": "Period seconds for livenessProbe", "default": 20 }, "timeoutSeconds": { "type": "number", "description": "Timeout seconds for livenessProbe", "default": 3 }, "failureThreshold": { "type": "number", "description": "Failure threshold for livenessProbe", "default": 3 }, "successThreshold": { "type": "number", "description": "Success threshold for livenessProbe", "default": 1 } } }, "readinessProbe": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable readinessProbe on Prometheus containers", "default": true }, "initialDelaySeconds": { "type": "number", "description": "Initial delay seconds for readinessProbe", "default": 5 }, "periodSeconds": { "type": "number", "description": "Period seconds for readinessProbe", "default": 10 }, "timeoutSeconds": { "type": "number", "description": "Timeout seconds for readinessProbe", "default": 2 }, "failureThreshold": { "type": "number", "description": "Failure threshold for readinessProbe", "default": 5 }, "successThreshold": { "type": "number", "description": "Success threshold for readinessProbe", "default": 1 } } }, "startupProbe": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable startupProbe on Prometheus containers", "default": false }, "initialDelaySeconds": { "type": "number", "description": "Initial delay seconds for startupProbe", "default": 2 }, "periodSeconds": { "type": "number", "description": "Period seconds for startupProbe", "default": 5 }, "timeoutSeconds": { "type": "number", "description": "Timeout seconds for startupProbe", "default": 2 }, "failureThreshold": { "type": "number", "description": "Failure threshold for startupProbe", "default": 10 }, "successThreshold": { "type": "number", "description": "Success threshold for startupProbe", "default": 1 } } }, "customLivenessProbe": { "type": "object", "description": "Custom livenessProbe that overrides the default one", "default": {} }, "customReadinessProbe": { "type": "object", "description": "Custom readinessProbe that overrides the default one", "default": {} }, "customStartupProbe": { "type": "object", "description": "Custom startupProbe that overrides the default one", "default": {} }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "description": "The resources limits for the Prometheus containers", "default": {} }, "requests": { "type": "object", "description": "The requested resources for the Prometheus containers", "default": {} } } }, "podSecurityContext": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enabled Prometheus pods' Security Context", "default": true }, "fsGroup": { "type": "number", "description": "Set Prometheus pod's Security Context fsGroup", "default": 1001 } } }, "containerSecurityContext": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enabled Prometheus containers' Security Context", "default": true }, "runAsUser": { "type": "number", "description": "Set Prometheus containers' Security Context runAsUser", "default": 1001 }, "runAsNonRoot": { "type": "boolean", "description": "Set Prometheus containers' Security Context runAsNonRoot", "default": true }, "readOnlyRootFilesystem": { "type": "boolean", "description": "Set Prometheus containers' Security Context runAsNonRoot", "default": false } } }, "existingConfigmap": { "type": "string", "description": "The name of an existing ConfigMap with your custom configuration for Prometheus", "default": "" }, "existingConfigmapKey": { "type": "string", "description": "The name of the key with the Prometheus config file", "default": "" }, "command": { "type": "array", "description": "Override default container command (useful when using custom images)", "default": [], "items": {} }, "args": { "type": "array", "description": "Override default container args (useful when using custom images)", "default": [], "items": {} }, "extraArgs": { "type": "array", "description": "Additional arguments passed to the Prometheus server container", "default": [], "items": {} }, "hostAliases": { "type": "array", "description": "Prometheus pods host aliases", "default": [], "items": {} }, "podLabels": { "type": "object", "description": "Extra labels for Prometheus pods", "default": {} }, "podAnnotations": { "type": "object", "description": "Annotations for Prometheus pods", "default": {} }, "podAffinityPreset": { "type": "string", "description": "Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`", "default": "" }, "podAntiAffinityPreset": { "type": "string", "description": "Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`", "default": "soft" }, "pdb": { "type": "object", "properties": { "create": { "type": "boolean", "description": "Enable/disable a Pod Disruption Budget creation", "default": false }, "minAvailable": { "type": "number", "description": "Minimum number/percentage of pods that should remain scheduled", "default": 1 }, "maxUnavailable": { "type": "string", "description": "Maximum number/percentage of pods that may be made unavailable", "default": "" } } }, "nodeAffinityPreset": { "type": "object", "properties": { "type": { "type": "string", "description": "Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`", "default": "" }, "key": { "type": "string", "description": "Node label key to match. Ignored if `affinity` is set", "default": "" }, "values": { "type": "array", "description": "Node label values to match. Ignored if `affinity` is set", "default": [], "items": {} } } }, "affinity": { "type": "object", "description": "Affinity for Prometheus pods assignment", "default": {} }, "nodeSelector": { "type": "object", "description": "Node labels for Prometheus pods assignment", "default": {} }, "tolerations": { "type": "array", "description": "Tolerations for Prometheus pods assignment", "default": [], "items": {} }, "updateStrategy": { "type": "object", "properties": { "type": { "type": "string", "description": "Prometheus deployment strategy type. If persistence is enabled, strategy type should be set to Recreate to avoid dead locks.", "default": "RollingUpdate" } } }, "priorityClassName": { "type": "string", "description": "Prometheus pods' priorityClassName", "default": "" }, "topologySpreadConstraints": { "type": "array", "description": "Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template", "default": [], "items": {} }, "schedulerName": { "type": "string", "description": "Name of the k8s scheduler (other than default) for Prometheus pods", "default": "" }, "terminationGracePeriodSeconds": { "type": "string", "description": "Seconds Redmine pod needs to terminate gracefully", "default": "" }, "lifecycleHooks": { "type": "object", "description": "for the Prometheus container(s) to automate configuration before or after startup", "default": {} }, "extraEnvVars": { "type": "array", "description": "Array with extra environment variables to add to Prometheus nodes", "default": [], "items": {} }, "extraEnvVarsCM": { "type": "string", "description": "Name of existing ConfigMap containing extra env vars for Prometheus nodes", "default": "" }, "extraEnvVarsSecret": { "type": "string", "description": "Name of existing Secret containing extra env vars for Prometheus nodes", "default": "" }, "extraVolumes": { "type": "array", "description": "Optionally specify extra list of additional volumes for the Prometheus pod(s)", "default": [], "items": {} }, "extraVolumeMounts": { "type": "array", "description": "Optionally specify extra list of additional volumeMounts for the Prometheus container(s)", "default": [], "items": {} }, "sidecars": { "type": "array", "description": "Add additional sidecar containers to the Prometheus pod(s)", "default": [], "items": {} }, "initContainers": { "type": "array", "description": "Add additional init containers to the Prometheus pod(s)", "default": [], "items": {} }, "routePrefix": { "type": "string", "description": "Prefix for the internal routes of web endpoints", "default": "/" }, "remoteWrite": { "type": "array", "description": "The remote_write spec configuration for Prometheus", "default": [], "items": {} }, "scrapeInterval": { "type": "string", "description": "Interval between consecutive scrapes. Example: \"1m\"", "default": "" }, "scrapeTimeout": { "type": "string", "description": "Interval between consecutive scrapes. Example: \"10s\"", "default": "" }, "evaluationInterval": { "type": "string", "description": "Interval between consecutive evaluations. Example: \"1m\"", "default": "" }, "enableAdminAPI": { "type": "boolean", "description": "Enable Prometheus adminitrative API", "default": false }, "enableRemoteWriteReceiver": { "type": "boolean", "description": "Enable Prometheus to be used as a receiver for the Prometheus remote write protocol.", "default": false }, "enableFeatures": { "type": "array", "description": "Enable access to Prometheus disabled features.", "default": [], "items": {} }, "logLevel": { "type": "string", "description": "Log level for Prometheus", "default": "info" }, "logFormat": { "type": "string", "description": "Log format for Prometheus", "default": "logfmt" }, "retention": { "type": "string", "description": "Metrics retention days", "default": "10d" }, "retentionSize": { "type": "string", "description": "Maximum size of metrics", "default": "0" }, "alertingEndpoints": { "type": "array", "description": "Alertmanagers to which alerts will be sent", "default": [], "items": {} }, "externalLabels": { "type": "object", "description": "External labels to add to any time series or alerts when communicating with external systems", "default": {} }, "thanos": { "type": "object", "properties": { "create": { "type": "boolean", "description": "Create a Thanos sidecar container", "default": false }, "image": { "type": "object", "properties": { "registry": { "type": "string", "description": "Thanos image registry", "default": "docker.io" }, "repository": { "type": "string", "description": "Thanos image name", "default": "bitnami/thanos" }, "tag": { "type": "string", "description": "Thanos image tag", "default": "0.31.0-scratch-r3" }, "digest": { "type": "string", "description": "Thanos image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag", "default": "" }, "pullPolicy": { "type": "string", "description": "Thanos image pull policy", "default": "IfNotPresent" }, "pullSecrets": { "type": "array", "description": "Specify docker-registry secret names as an array", "default": [], "items": {} } } }, "containerSecurityContext": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable container security context", "default": true }, "readOnlyRootFilesystem": { "type": "boolean", "description": "mount / (root) as a readonly filesystem", "default": false }, "allowPrivilegeEscalation": { "type": "boolean", "description": "Switch privilegeEscalation possibility on or off", "default": false }, "runAsNonRoot": { "type": "boolean", "description": "Force the container to run as a non root user", "default": true }, "capabilities": { "type": "object", "properties": { "drop": { "type": "array", "description": "Linux Kernel capabilities which should be dropped", "default": [ "ALL" ], "items": { "type": "string" } } } } } }, "prometheusUrl": { "type": "string", "description": "Override default prometheus url `http://localhost:9090`", "default": "" }, "extraArgs": { "type": "array", "description": "Additional arguments passed to the thanos sidecar container", "default": [], "items": {} }, "objectStorageConfig": { "type": "object", "properties": { "secretName": { "type": "string", "description": "Support mounting a Secret for the objectStorageConfig of the sideCar container.", "default": "" }, "secretKey": { "type": "string", "description": "Secret key with the configuration file.", "default": "thanos.yaml" } } }, "extraVolumeMounts": { "type": "array", "description": "Additional volumeMounts from `server.volumes` for thanos sidecar container", "default": [], "items": {} }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "description": "The resources limits for the Thanos sidecar container", "default": {} }, "requests": { "type": "object", "description": "The resources requests for the Thanos sidecar container", "default": {} } } }, "livenessProbe": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Turn on and off liveness probe", "default": true }, "initialDelaySeconds": { "type": "number", "description": "Delay before liveness probe is initiated", "default": 0 }, "periodSeconds": { "type": "number", "description": "How often to perform the probe", "default": 5 }, "timeoutSeconds": { "type": "number", "description": "When the probe times out", "default": 3 }, "failureThreshold": { "type": "number", "description": "Minimum consecutive failures for the probe", "default": 120 }, "successThreshold": { "type": "number", "description": "Minimum consecutive successes for the probe", "default": 1 } } }, "readinessProbe": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Turn on and off readiness probe", "default": true }, "initialDelaySeconds": { "type": "number", "description": "Delay before readiness probe is initiated", "default": 0 }, "periodSeconds": { "type": "number", "description": "How often to perform the probe", "default": 5 }, "timeoutSeconds": { "type": "number", "description": "When the probe times out", "default": 3 }, "failureThreshold": { "type": "number", "description": "Minimum consecutive failures for the probe", "default": 120 }, "successThreshold": { "type": "number", "description": "Minimum consecutive successes for the probe", "default": 1 } } }, "customLivenessProbe": { "type": "object", "description": "Custom livenessProbe that overrides the default one", "default": {} }, "customReadinessProbe": { "type": "object", "description": "Custom readinessProbe that overrides the default one", "default": {} }, "service": { "type": "object", "properties": { "type": { "type": "string", "description": "Kubernetes service type", "default": "ClusterIP" }, "ports": { "type": "object", "properties": { "grpc": { "type": "number", "description": "Thanos service port", "default": 10901 } } }, "clusterIP": { "type": "string", "description": "Specific cluster IP when service type is cluster IP. Use `None` to create headless service by default.", "default": "None" }, "nodePorts": { "type": "object", "properties": { "grpc": { "type": "string", "description": "Specify the nodePort value for the LoadBalancer and NodePort service types.", "default": "" } } }, "loadBalancerIP": { "type": "string", "description": "`loadBalancerIP` if service type is `LoadBalancer`", "default": "" }, "loadBalancerSourceRanges": { "type": "array", "description": "Address that are allowed when svc is `LoadBalancer`", "default": [], "items": {} }, "annotations": { "type": "object", "description": "Additional annotations for Prometheus service", "default": {} }, "extraPorts": { "type": "array", "description": "Additional ports to expose from the Thanos sidecar container", "default": [], "items": {} }, "externalTrafficPolicy": { "type": "string", "description": "Prometheus service external traffic policy", "default": "Cluster" }, "sessionAffinity": { "type": "string", "description": "Session Affinity for Kubernetes service, can be \"None\" or \"ClientIP\"", "default": "None" }, "sessionAffinityConfig": { "type": "object", "description": "Additional settings for the sessionAffinity", "default": {} } } }, "ingress": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable ingress controller resource", "default": false }, "pathType": { "type": "string", "description": "Ingress path type", "default": "ImplementationSpecific" }, "hostname": { "type": "string", "description": "Default host for the ingress record", "default": "thanos.prometheus.local" }, "path": { "type": "string", "description": "Default path for the ingress record", "default": "/" }, "annotations": { "type": "object", "description": "Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.", "default": {} }, "ingressClassName": { "type": "string", "description": "IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)", "default": "" }, "tls": { "type": "boolean", "description": "Enable TLS configuration for the host defined at `ingress.hostname` parameter", "default": false }, "selfSigned": { "type": "boolean", "description": "Create a TLS secret for this ingress record using self-signed certificates generated by Helm", "default": false }, "extraHosts": { "type": "array", "description": "An array with additional hostname(s) to be covered with the ingress record", "default": [], "items": {} }, "extraPaths": { "type": "array", "description": "An array with additional arbitrary paths that may need to be added to the ingress under the main host", "default": [], "items": {} }, "extraTls": { "type": "array", "description": "TLS configuration for additional hostname(s) to be covered with this ingress record", "default": [], "items": {} }, "secrets": { "type": "array", "description": "Custom TLS certificates as secrets", "default": [], "items": {} }, "extraRules": { "type": "array", "description": "The list of additional rules to be added to this ingress record. Evaluated as a template", "default": [], "items": {} } } } } }, "ingress": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable ingress record generation for Prometheus", "default": false }, "pathType": { "type": "string", "description": "Ingress path type", "default": "ImplementationSpecific" }, "hostname": { "type": "string", "description": "Default host for the ingress record", "default": "server.prometheus.local" }, "ingressClassName": { "type": "string", "description": "IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)", "default": "" }, "path": { "type": "string", "description": "Default path for the ingress record", "default": "/" }, "annotations": { "type": "object", "description": "Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.", "default": {} }, "tls": { "type": "boolean", "description": "Enable TLS configuration for the host defined at `ingress.hostname` parameter", "default": false }, "selfSigned": { "type": "boolean", "description": "Create a TLS secret for this ingress record using self-signed certificates generated by Helm", "default": false }, "extraHosts": { "type": "array", "description": "An array with additional hostname(s) to be covered with the ingress record", "default": [], "items": {} }, "extraPaths": { "type": "array", "description": "An array with additional arbitrary paths that may need to be added to the ingress under the main host", "default": [], "items": {} }, "extraTls": { "type": "array", "description": "TLS configuration for additional hostname(s) to be covered with this ingress record", "default": [], "items": {} }, "secrets": { "type": "array", "description": "Custom TLS certificates as secrets", "default": [], "items": {} }, "extraRules": { "type": "array", "description": "Additional rules to be covered with this ingress record", "default": [], "items": {} } } }, "serviceAccount": { "type": "object", "properties": { "create": { "type": "boolean", "description": "Specifies whether a ServiceAccount should be created", "default": true }, "name": { "type": "string", "description": "The name of the ServiceAccount to use.", "default": "" }, "annotations": { "type": "object", "description": "Additional Service Account annotations (evaluated as a template)", "default": {} }, "automountServiceAccountToken": { "type": "boolean", "description": "Automount service account token for the server service account", "default": true } } }, "service": { "type": "object", "properties": { "type": { "type": "string", "description": "Prometheus service type", "default": "LoadBalancer" }, "ports": { "type": "object", "properties": { "http": { "type": "number", "description": "Prometheus service HTTP port", "default": 80 } } }, "nodePorts": { "type": "object", "properties": { "http": { "type": "string", "description": "Node port for HTTP", "default": "" } } }, "clusterIP": { "type": "string", "description": "Prometheus service Cluster IP", "default": "" }, "loadBalancerIP": { "type": "string", "description": "Prometheus service Load Balancer IP", "default": "" }, "loadBalancerSourceRanges": { "type": "array", "description": "Prometheus service Load Balancer sources", "default": [], "items": {} }, "externalTrafficPolicy": { "type": "string", "description": "Prometheus service external traffic policy", "default": "Cluster" }, "annotations": { "type": "object", "description": "Additional custom annotations for Prometheus service", "default": {} }, "extraPorts": { "type": "array", "description": "Extra ports to expose in Prometheus service (normally used with the `sidecars` value)", "default": [], "items": {} }, "sessionAffinity": { "type": "string", "description": "Control where client requests go, to the same pod or round-robin. ClientIP by default.", "default": "ClientIP" }, "sessionAffinityConfig": { "type": "object", "description": "Additional settings for the sessionAffinity", "default": {} } } }, "persistence": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable persistence using Persistent Volume Claims. If you have multiple instances (server.repicacount > 1), please considere using an external storage service like Thanos or Grafana Mimir", "default": false }, "mountPath": { "type": "string", "description": "Path to mount the volume at.", "default": "/bitnami/prometheus/data" }, "subPath": { "type": "string", "description": "The subdirectory of the volume to mount to, useful in dev environments and one PV for multiple services", "default": "" }, "storageClass": { "type": "string", "description": "Storage class of backing PVC", "default": "" }, "annotations": { "type": "object", "description": "Persistent Volume Claim annotations", "default": {} }, "accessModes": { "type": "array", "description": "Persistent Volume Access Modes", "default": [ "ReadWriteOnce" ], "items": { "type": "string" } }, "size": { "type": "string", "description": "Size of data volume", "default": "8Gi" }, "existingClaim": { "type": "string", "description": "The name of an existing PVC to use for persistence", "default": "" }, "selector": { "type": "object", "description": "Selector to match an existing Persistent Volume for WordPress data PVC", "default": {} }, "dataSource": { "type": "object", "description": "Custom PVC data source", "default": {} } } }, "rbac": { "type": "object", "properties": { "create": { "type": "boolean", "description": "Specifies whether RBAC resources should be created", "default": true }, "rules": { "type": "array", "description": "Custom RBAC rules to set", "default": [], "items": {} } } } } }, "volumePermissions": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup`", "default": false }, "image": { "type": "object", "properties": { "registry": { "type": "string", "description": "OS Shell + Utility image registry", "default": "docker.io" }, "repository": { "type": "string", "description": "OS Shell + Utility image repository", "default": "bitnami/os-shell" }, "tag": { "type": "string", "description": "OS Shell + Utility image tag (immutable tags are recommended)", "default": "11-debian-11-r2" }, "pullPolicy": { "type": "string", "description": "OS Shell + Utility image pull policy", "default": "IfNotPresent" }, "pullSecrets": { "type": "array", "description": "OS Shell + Utility image pull secrets", "default": [], "items": {} } } }, "resources": { "type": "object", "properties": { "limits": { "type": "object", "description": "The resources limits for the init container", "default": {} }, "requests": { "type": "object", "description": "The requested resources for the init container", "default": {} } } }, "containerSecurityContext": { "type": "object", "properties": { "runAsUser": { "type": "number", "description": "Set init container's Security Context runAsUser", "default": 0 } } } } } } }