1# Default values for kube-state-metrics.
5 repository: scratch-images/test-tmp/kube-state-metrics
6 # If unset use v + .Charts.appVersion
8 sha: sha256:da556cfdd22c65d511382524447e64087afa39da223105f0a6c30df65103994e
9 pullPolicy: IfNotPresent
11# - name: "image-pull-secret"
14 # To help compatibility with other charts which use global.imagePullSecrets.
15 # Allow either an array of {name: pullSecret} maps (k8s-style), or an array of strings (more common helm-style).
27 # Allow parent charts to override registry hostname
29# Provide a name in place of kube-state-metrics for `app.kubernetes.io/name` labels.
31# Provide a name to substitute for the full names of resources.
33# If set to true, this will deploy kube-state-metrics as a StatefulSet and the data
34# will be automatically sharded across <.Values.replicas> pods using the built-in
35# autodiscovery feature: https://github.com/kubernetes/kube-state-metrics#automated-sharding
36# This is an experimental feature and there are no stability guarantees.
40# Change the deployment strategy when autosharding is disabled.
41# ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
42# The default is "RollingUpdate" as per Kubernetes defaults.
43# During a release, 'RollingUpdate' can lead to two running instances for a short period of time while 'Recreate' can create a small gap in data.
44# updateStrategy: Recreate
46# Number of old history to retain to allow rollback
47# Default Kubernetes value is set to 10
48revisionHistoryLimit: 10
49# List of additional cli arguments to configure kube-state-metrics
50# for example: --enable-gzip-encoding, --log-file, etc.
51# all the possible args can be found here: https://github.com/kubernetes/kube-state-metrics/blob/main/docs/developer/cli-arguments.md
53# If false then the user will opt out of automounting API credentials.
54automountServiceAccountToken: true
57 # Default to clusterIP for backward compatibility
61 ipFamilies: ["IPv6", "IPv4"]
62 ipFamilyPolicy: "PreferDualStack"
65 # Only allow access to the loadBalancerIP from these IPs
66 loadBalancerSourceRanges: []
69## Additional labels to add to all resources
71# app: kube-state-metrics
73## Override selector labels
75## set to true to add the release label so scraping of the servicemonitor with kube-prometheus-stack works out of the box
78## Use the host's user namespace for deployment.
79## ref: https://kubernetes.io/docs/tasks/configure-pod-container/user-namespaces/
82 # If true, create & use RBAC resources
84 # Set to a rolename to use existing role - skipping role creating - but still doing serviceaccount and rolebinding to it, rolename set here.
85 # useExistingRole: your-existing-role
87 # If set to false - Run without Cluteradmin privs needed - ONLY works if namespace is also set (if useExistingRole is set this name is used as ClusterRole or Role to bind to)
89 # Add permissions for CustomResources' apiGroups in Role/ClusterRole. Should be used in conjunction with Custom Resource State Metrics configuration
91 # - apiGroups: ["monitoring.coreos.com"]
92 # resources: ["prometheuses"]
93 # verbs: ["list", "watch"]
95# Enable kube-state-metrics native request authn/authz on the metrics endpoints
96# via the `--auth-filter` flag, as an alternative to running kube-rbac-proxy.
97# When enabled, the `create` permissions on `tokenreviews` and
98# `subjectaccessreviews` required by the filter are added to the (Cluster)Role
99# automatically. Scrapers must authenticate; see the chart README and the
100# kube-state-metrics docs on protecting metrics endpoints.
103# Configure kube-rbac-proxy. When enabled, creates one kube-rbac-proxy container per exposed HTTP endpoint (metrics and telemetry if enabled).
104# The requests are served through the same service but requests are then HTTPS.
108 registry: chainreg.biz
109 repository: scratch-images/test-tmp/kube-rbac-proxy
111 sha: sha256:9af5d2f545df3117e1a7450206dde6625bb18349cb4b129b15779a345bfed8bf
112 pullPolicy: IfNotPresent
113 # This set --ignore-paths=/livez,/readyz to kubeRBACProxy container args
114 # to allow the pod probes working properly with kubeRBACProxy enabled.
115 ignoreProbePaths: true
116 # List of additional cli arguments to configure kube-rbac-prxy
117 # for example: --tls-cipher-suites, --log-file, etc.
118 # all the possible args can be found here: https://github.com/brancz/kube-rbac-proxy#usage
120 ## Specify security settings for a Container
121 ## Allows overrides and additional options compared to (Pod) securityContext
122 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
123 containerSecurityContext:
124 readOnlyRootFilesystem: true
125 allowPrivilegeEscalation: false
129 # Configure specific upstream port for kube-state-metrics container
131 # Configure specific proxy endpoints port
132 # This port is for healthz on readinessProbe kube-rbac-proxy-http container
133 proxyEndpointsPort: 8888
135 # We usually recommend not to specify default resources and to leave this as a conscious
136 # choice for the user. This also increases chances charts run on environments with little
137 # resources, such as Minikube. If you do want to specify resources, uncomment the following
138 # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
146 ## volumeMounts enables mounting custom volumes in rbac-proxy containers
147 ## Useful for TLS certificates and keys
149 # - mountPath: /etc/tls
150 # name: kube-rbac-proxy-tls
153 # Specifies whether a ServiceAccount should be created, require rbac true
155 # The name of the ServiceAccount to use.
156 # If not set and create is true, a name is generated using the fullname template
158 # Reference to one or more secrets to be used when pulling images
159 # ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
161 # ServiceAccount annotations.
162 # Use case: AWS EKS IAM roles for service accounts
163 # ref: https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html
165 # If false then the user will opt out of automounting API credentials.
166 automountServiceAccountToken: true
167# Additional Environment variables
172# resource: limits.cpu
180 namespaceSelector: []
184 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
187 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
190 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
193 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
195 labelNameLengthLimit: 0
196 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
198 labelValueLengthLimit: 0
200 ## kube-state-metrics endpoint
205 ## Whether to enable HTTP2 for servicemonitor
208 metricRelabelings: []
211 ## File to read bearer token for scraping targets
213 ## Secret to mount to read bearer token for scraping targets. The secret needs
214 ## to be in the same namespace as the service monitor and accessible by the
215 ## Prometheus Operator
216 bearerTokenSecret: {}
220 ## selfMonitor endpoint
225 ## Whether to enable HTTP2 for servicemonitor
228 metricRelabelings: []
231 ## File to read bearer token for scraping targets
233 ## Secret to mount to read bearer token for scraping targets. The secret needs
234 ## to be in the same namespace as the service monitor and accessible by the
235 ## Prometheus Operator
236 bearerTokenSecret: {}
240 ## Create a scrapeConfig resource for scraping the kube-state-metrics service. Use this instead of serviceMonitor
241 ## to have more instances of kube-state-metrics safety.
243 ## To avoid duplicate metrics, first disable the serviceMonitor creation via prometheus.monitor.enabled=false
247 jobName: kube-state-metrics
248 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
251 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
254 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
257 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
259 labelNameLengthLimit: 0
260 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
262 labelValueLengthLimit: 0
263 ## StaticConfigLabels defines the labels to be used in the Prometheus static configuration for scraping.
264 staticConfigLabels: {}
268 ## Whether to enable HTTP2 for scrapeconfig
271 metricRelabelings: []
275## Configure network policy for kube-state-metrics
284 # app.kubernetes.io/name: kube-state-metrics
293## Specify security settings for a Container
294## Allows overrides and additional options compared to (Pod) securityContext
295## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
296containerSecurityContext:
297 readOnlyRootFilesystem: true
298 allowPrivilegeEscalation: false
302## Node labels for pod assignment
303## Ref: https://kubernetes.io/docs/user-guide/node-selection/
305## Affinity settings for pod assignment
306## Can be defined as either a dict or string. String is useful for `tpl` templating.
307## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
311# requiredDuringSchedulingIgnoredDuringExecution:
314# {{- include "kube-state-metrics.selectorLabels" . | indent 10 }}
315# topologyKey: kubernetes.io/hostname
317## Tolerations for pod assignment
318## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
320## Topology spread constraints for pod assignment
321## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
322topologySpreadConstraints: []
323# Annotations to be added to the deployment/statefulset
325# Labels to be added to the deployment/statefulset
327# Annotations to be added to the pod
329# Labels to be added to the pod
331## Assign a PriorityClassName to pods if set
332# priorityClassName: ""
334# Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
335podDisruptionBudget: {}
336# Comma-separated list of metrics to be exposed.
337# This list comprises of exact metric names and/or regex patterns.
338# The allowlist and denylist are mutually exclusive.
340# Comma-separated list of metrics not to be enabled.
341# This list comprises of exact metric names and/or regex patterns.
342# The allowlist and denylist are mutually exclusive.
344# Comma-separated list of additional Kubernetes label keys that will be used in the resource's
345# labels metric. By default the metric contains only name and namespace labels.
346# To include additional labels, provide a list of resource names in their plural form and Kubernetes
347# label keys you would like to allow for them (Example: '=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)'.
348# A single '*' can be provided per resource instead to allow any labels, but that has
349# severe performance implications (Example: '=pods=[*]').
350metricLabelsAllowlist: []
351# - namespaces=[k8s-label-1,k8s-label-n]
353# Comma-separated list of Kubernetes annotations keys that will be used in the resource'
354# labels metric. By default the metric contains only name and namespace labels.
355# To include additional annotations provide a list of resource names in their plural form and Kubernetes
356# annotation keys you would like to allow for them (Example: '=namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...)'.
357# A single '*' can be provided per resource instead to allow any annotations, but that has
358# severe performance implications (Example: '=pods=[*]').
359metricAnnotationsAllowList: []
360# - pods=[k8s-annotation-1,k8s-annotation-n]
362# Available collectors for kube-state-metrics.
363# By default, all available resources are enabled, comment out to disable.
365 - certificatesigningrequests
371 - horizontalpodautoscalers
376 - mutatingwebhookconfigurations
380 - persistentvolumeclaims
382 - poddisruptionbudgets
385 - replicationcontrollers
391 - validatingwebhookconfigurations
394 # - clusterrolebindings
399# collectorsExclude / collectorsExtra tweak the default `collectors` list above
400# without redefining it. Both operate on `.Values.collectors` (not on KSM's
401# built-in defaults): with `collectors: []` there is nothing to layer onto and
402# `collectorsExtra` becomes the entire --resources list.
403# collectorsExclude removes entries from the list:
406# collectorsExtra appends entries after exclusion (deduplicated):
410# Enabling kubeconfig will pass the --kubeconfig argument to the container
413 # base64 encoded kube-config file
415# Enabling support for customResourceState, will create a configMap including your config that will be read from kube-state-metrics
417 # Whether to enable support for CustomResourceStateMetrics.
419 # Whether to create the ConfigMap that holds the config.
421 # Name of the ConfigMap that holds the config. If empty, name will be generated based on the release name.
423 # ConfigMap key that holds the config.
425 # Definition of the CustomResourceStateMetrics. Add (Cluster)Role permissions to list/watch the resources defined in the config to rbac.extraRules.
427# Enable only the release namespace for collecting resources. By default all namespaces are collected.
428# If releaseNamespace and namespaces are both set a merged list will be collected.
429releaseNamespace: false
430# Comma-separated list(string) or yaml list of namespaces to be enabled for collecting resources. By default all namespaces are collected.
432# Comma-separated list of namespaces not to be enabled. If namespaces and namespaces-denylist are both set,
433# only namespaces that are excluded in namespaces-denylist will be used.
434namespacesDenylist: ""
435## Override the deployment namespace
439# We usually recommend not to specify default resources and to leave this as a conscious
440# choice for the user. This also increases chances charts run on environments with little
441# resources, such as Minikube. If you do want to specify resources, uncomment the following
442# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
450# Enable self metrics configuration for service and Service Monitor
451# Default values for telemetry configuration can be overridden
452# If you set telemetryNodePort, you must also set service.type to NodePort
455 # telemetryHost: 0.0.0.0
456 # telemetryPort: 8081
457 # telemetryNodePort: 0
458# Enable vertical pod autoscaler support for kube-state-metrics
459verticalPodAutoscaler:
461 # Recommender responsible for generating recommendation for the object.
462 # List should be empty (then the default recommender will generate the recommendation)
463 # or contain exactly one recommender.
465 # - name: custom-recommender-performance
467 # List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
468 controlledResources: []
469 # Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits.
470 # controlledValues: RequestsAndLimits
472 # Define the max allowed resources for the pod
476 # Define the min allowed resources for the pod
481# Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction
483# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
484# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
487# volumeMounts are used to add custom volume mounts to deployment.
490# - mountPath: /etc/config
493# volumes are used to add custom volumes to deployment
500# Extra manifests to deploy as an array
506# name: prometheus-extra
510## Containers allows injecting additional containers.
513# image: kiwigrid/k8s-sidecar:latest
515## InitContainers allows injecting additional initContainers.
518# image: kiwigrid/k8s-sidecar:latest
520## dnsPolicy allows to change the default DNS configuration for the pod
521## Ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy
522dnsPolicy: ClusterFirst
523## dnsConfig allows setting up specific DNS configuration for the pod
524## Ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
526## Settings for startup, liveness and readiness probes
527## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
530## Startup probe can optionally be enabled.
538 initialDelaySeconds: 0
549 initialDelaySeconds: 5
560 initialDelaySeconds: 5