## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry and imagePullSecrets
##
global:
  # imageRegistry: myRegistryName
  # imagePullSecrets:
  #   - myRegistryKeySecretName
  # storageClass: myStorageClass

  ## Additional labels to apply to all resources
  labels: {}
  #   foo: bar

## String to partially override kube-state-metrics.fullname template (will maintain the release name)
##
# nameOverride:

## String to fully override kube-state-metrics.fullname template
##
# fullnameOverride:

## Role Based Access
## Ref: https://kubernetes.io/docs/admin/authorization/rbac/
##
rbac:
  create: true

  ## RBAC API version
  ##
  apiVersion: v1beta1

  ## Podsecuritypolicy
  ##
  pspEnabled: true

## Service account for kube-state-metrics to use.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
##
serviceAccount:
  ## Specifies whether a ServiceAccount should be created
  ##
  create: true
  ## The name of the ServiceAccount to use.
  ## If not set and create is true, a name is generated using the kube-state-metrics.fullname template
  # name:

## Bitnami kube-state-metrics image version
## ref: https://hub.docker.com/r/bitnami/kube-state-metrics/tags/
##
image:
  registry: docker.io
  repository: bitnami/kube-state-metrics
  tag: 1.9.7-debian-10-r73

  ## Specify a imagePullPolicy
  ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  ##
  pullPolicy: IfNotPresent
  ## Optionally specify an array of imagePullSecrets.
  ## Secrets must be manually created in the namespace.
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  ##
  # pullSecrets:
  #   - myRegistryKeySecretName

## Additional command line arguments to pass to kube-state-metrics
extraArgs: {}

## Comma-separated list of namespaces to be enabled. Defaults to all namespaces
# namespace: ""

## Collectors to be enabled
collectors:
  certificatesigningrequests: true
  configmaps: true
  cronjobs: true
  daemonsets: true
  deployments: true
  endpoints: true
  horizontalpodautoscalers: true
  ingresses: true
  jobs: true
  limitranges: true
  mutatingwebhookconfigurations: true
  namespaces: true
  networkpolicies: true
  nodes: true
  persistentvolumeclaims: true
  persistentvolumes: true
  poddisruptionbudgets: true
  pods: true
  replicasets: true
  replicationcontrollers: true
  resourcequotas: true
  secrets: true
  services: true
  statefulsets: true
  storageclasses: true
  verticalpodautoscalers: false
  validatingwebhookconfigurations: false
  volumeattachments: true

## SecurityContext configuration
##
securityContext:
  enabled: true
  runAsUser: 1001
  fsGroup: 1001

## kube-state-metrics Service
##
service:
  ## Kubernetes service type and port number
  ##
  type: ClusterIP
  port: 8080
  # clusterIP: None

  ## Specify the nodePort value for the LoadBalancer and NodePort service types.
  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
  ##
  # nodePort: 30080

  ## Set the LoadBalancer service type to internal only.
  ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
  ##
  # loadBalancerIP:

  ## Load Balancer sources
  ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  ##
  # loadBalancerSourceRanges:
  # - 10.10.10.0/24

  ## Provide any additional service annotations
  ##
  annotations: {}

  ## Provide any additional service labels
  ##
  labels: {}

# Enable hostNetwork mode
hostNetwork: false

## Priority class assigned to the Pods
##
priorityClassName: ""

## Resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  limits: {}
  #   cpu: 100m
  #   memory: 128Mi
  requests: {}
  #   cpu: 100m
  #   memory: 128Mi

## Number of replicas
##
replicaCount: 2

## Pod labels
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}

## Pod annotations
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}

## updateStrategy
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
##
updateStrategy: {}

## minReadySeconds to avoid killing pods before we are ready
##
minReadySeconds: 0

## Affinity for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
##
affinity: {}

## Node labels for pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}

## Tolerations for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []

## Configure extra options for liveness and readiness probes
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
##
livenessProbe:
  enabled: true
  initialDelaySeconds: 120
  periodSeconds: 10
  timeoutSeconds: 5
  failureThreshold: 6
  successThreshold: 1

readinessProbe:
  enabled: true
  initialDelaySeconds: 30
  periodSeconds: 10
  timeoutSeconds: 5
  failureThreshold: 6
  successThreshold: 1

## ServiceMonitor configuration
##
serviceMonitor:
  enabled: false
  ## Namespace in which Prometheus is running
  ##
  # namespace: monitoring

  ## The name of the label on the target service to use as the job name in prometheus
  # jobLabel:

  ## Interval at which metrics should be scraped.
  ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  ##
  # interval: 10s

  ## Timeout after which the scrape is ended
  ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  ##
  # scrapeTimeout: 10s

  ## ServiceMonitor selector labels
  ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
  ##
  # selector:
  #   prometheus: my-prometheus

  ## Honor metric labels
  ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  ##
  # honorLabels: false

  ## Relabeling (before scrape)
  ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
  ##
  # relabelings: []

  ## Metric relabeling
  ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
  ##
  # metricRelabelings: []
