github.com/verrazzano/verrazzano@v1.7.0/platform-operator/thirdparty/charts/prometheus-community/kube-state-metrics/values.yaml (about)

     1  # Default values for kube-state-metrics.
     2  prometheusScrape: true
     3  image:
     4    registry: registry.k8s.io
     5    repository: kube-state-metrics/kube-state-metrics
     6    # If unset use v + .Charts.appVersion
     7    tag: ""
     8    sha: ""
     9    pullPolicy: IfNotPresent
    10  
    11  imagePullSecrets: []
    12  # - name: "image-pull-secret"
    13  
    14  global:
    15    # To help compatibility with other charts which use global.imagePullSecrets.
    16    # Allow either an array of {name: pullSecret} maps (k8s-style), or an array of strings (more common helm-style).
    17    # global:
    18    #   imagePullSecrets:
    19    #   - name: pullSecret1
    20    #   - name: pullSecret2
    21    # or
    22    # global:
    23    #   imagePullSecrets:
    24    #   - pullSecret1
    25    #   - pullSecret2
    26    imagePullSecrets: []
    27    #
    28    # Allow parent charts to override registry hostname
    29    imageRegistry: ""
    30  
    31  # If set to true, this will deploy kube-state-metrics as a StatefulSet and the data
    32  # will be automatically sharded across <.Values.replicas> pods using the built-in
    33  # autodiscovery feature: https://github.com/kubernetes/kube-state-metrics#automated-sharding
    34  # This is an experimental feature and there are no stability guarantees.
    35  autosharding:
    36    enabled: false
    37  
    38  replicas: 1
    39  
    40  # Change the deployment strategy when autosharding is disabled
    41  # updateStrategy: Recreate
    42  
    43  # Number of old history to retain to allow rollback
    44  # Default Kubernetes value is set to 10
    45  revisionHistoryLimit: 10
    46  
    47  # List of additional cli arguments to configure kube-state-metrics
    48  # for example: --enable-gzip-encoding, --log-file, etc.
    49  # all the possible args can be found here: https://github.com/kubernetes/kube-state-metrics/blob/master/docs/cli-arguments.md
    50  extraArgs: []
    51  
    52  service:
    53    port: 8080
    54    # Default to clusterIP for backward compatibility
    55    type: ClusterIP
    56    nodePort: 0
    57    loadBalancerIP: ""
    58    # Only allow access to the loadBalancerIP from these IPs
    59    loadBalancerSourceRanges: []
    60    clusterIP: ""
    61    annotations: {}
    62  
    63  ## Additional labels to add to all resources
    64  customLabels: {}
    65    # app: kube-state-metrics
    66  
    67  ## Override selector labels
    68  selectorOverride: {}
    69  
    70  ## set to true to add the release label so scraping of the servicemonitor with kube-prometheus-stack works out of the box
    71  releaseLabel: false
    72  
    73  hostNetwork: false
    74  
    75  rbac:
    76    # If true, create & use RBAC resources
    77    create: true
    78  
    79    # Set to a rolename to use existing role - skipping role creating - but still doing serviceaccount and rolebinding to it, rolename set here.
    80    # useExistingRole: your-existing-role
    81  
    82    # 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)
    83    useClusterRole: true
    84  
    85    # Add permissions for CustomResources' apiGroups in Role/ClusterRole. Should be used in conjunction with Custom Resource State Metrics configuration
    86    # Example:
    87    # - apiGroups: ["monitoring.coreos.com"]
    88    #   resources: ["prometheuses"]
    89    #   verbs: ["list", "watch"]
    90    extraRules: []
    91  
    92  # Configure kube-rbac-proxy. When enabled, creates one kube-rbac-proxy container per exposed HTTP endpoint (metrics and telemetry if enabled).
    93  # The requests are served through the same service but requests are then HTTPS.
    94  kubeRBACProxy:
    95    enabled: false
    96    image:
    97      registry: quay.io
    98      repository: brancz/kube-rbac-proxy
    99      tag: v0.14.0
   100      sha: ""
   101      pullPolicy: IfNotPresent
   102  
   103    # List of additional cli arguments to configure kube-rbac-prxy
   104    # for example: --tls-cipher-suites, --log-file, etc.
   105    # all the possible args can be found here: https://github.com/brancz/kube-rbac-proxy#usage
   106    extraArgs: []
   107  
   108    ## Specify security settings for a Container
   109    ## Allows overrides and additional options compared to (Pod) securityContext
   110    ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
   111    containerSecurityContext: {}
   112  
   113    resources: {}
   114      # We usually recommend not to specify default resources and to leave this as a conscious
   115      # choice for the user. This also increases chances charts run on environments with little
   116      # resources, such as Minikube. If you do want to specify resources, uncomment the following
   117      # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
   118      # limits:
   119      #  cpu: 100m
   120      #  memory: 64Mi
   121      # requests:
   122      #  cpu: 10m
   123      #  memory: 32Mi
   124  
   125    ## volumeMounts enables mounting custom volumes in rbac-proxy containers
   126    ## Useful for TLS certificates and keys
   127    volumeMounts: []
   128      # - mountPath: /etc/tls
   129      #   name: kube-rbac-proxy-tls
   130      #   readOnly: true
   131  
   132  serviceAccount:
   133    # Specifies whether a ServiceAccount should be created, require rbac true
   134    create: true
   135    # The name of the ServiceAccount to use.
   136    # If not set and create is true, a name is generated using the fullname template
   137    name:
   138    # Reference to one or more secrets to be used when pulling images
   139    # ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
   140    imagePullSecrets: []
   141    # ServiceAccount annotations.
   142    # Use case: AWS EKS IAM roles for service accounts
   143    # ref: https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html
   144    annotations: {}
   145  
   146  prometheus:
   147    monitor:
   148      enabled: false
   149      annotations: {}
   150      additionalLabels: {}
   151      namespace: ""
   152      namespaceSelector: []
   153      jobLabel: ""
   154      targetLabels: []
   155      podTargetLabels: []
   156      interval: ""
   157      ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
   158      ##
   159      sampleLimit: 0
   160  
   161      ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
   162      ##
   163      targetLimit: 0
   164  
   165      ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
   166      ##
   167      labelLimit: 0
   168  
   169      ## 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.
   170      ##
   171      labelNameLengthLimit: 0
   172  
   173      ## 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.
   174      ##
   175      labelValueLengthLimit: 0
   176      scrapeTimeout: ""
   177      proxyUrl: ""
   178      selectorOverride: {}
   179      honorLabels: false
   180      metricRelabelings: []
   181      relabelings: []
   182      scheme: ""
   183      ## File to read bearer token for scraping targets
   184      bearerTokenFile: ""
   185      ## Secret to mount to read bearer token for scraping targets. The secret needs
   186      ## to be in the same namespace as the service monitor and accessible by the
   187      ## Prometheus Operator
   188      bearerTokenSecret: {}
   189        # name: secret-name
   190        # key:  key-name
   191      tlsConfig: {}
   192  
   193  ## Specify if a Pod Security Policy for kube-state-metrics must be created
   194  ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
   195  ##
   196  podSecurityPolicy:
   197    enabled: false
   198    annotations: {}
   199      ## Specify pod annotations
   200      ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
   201      ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
   202      ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
   203      ##
   204      # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
   205      # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
   206      # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
   207  
   208    additionalVolumes: []
   209  
   210  ## Configure network policy for kube-state-metrics
   211  networkPolicy:
   212    enabled: false
   213    # networkPolicy.flavor -- Flavor of the network policy to use.
   214    # Can be:
   215    # * kubernetes for networking.k8s.io/v1/NetworkPolicy
   216    # * cilium     for cilium.io/v2/CiliumNetworkPolicy
   217    flavor: kubernetes
   218  
   219    ## Configure the cilium network policy kube-apiserver selector
   220    # cilium:
   221      # kubeApiServerSelector:
   222        # - toEntities:
   223        #   - kube-apiserver
   224  
   225    # egress:
   226    # - {}
   227    # ingress:
   228    # - {}
   229    # podSelector:
   230    #   matchLabels:
   231    #     app.kubernetes.io/name: kube-state-metrics
   232  
   233  securityContext:
   234    enabled: true
   235    runAsGroup: 65534
   236    runAsUser: 65534
   237    fsGroup: 65534
   238    runAsNonRoot: true
   239    seccompProfile:
   240      type: RuntimeDefault
   241  
   242  ## Specify security settings for a Container
   243  ## Allows overrides and additional options compared to (Pod) securityContext
   244  ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
   245  containerSecurityContext:
   246    allowPrivilegeEscalation: false
   247    capabilities:
   248      drop:
   249      - ALL
   250  
   251  ## Node labels for pod assignment
   252  ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
   253  nodeSelector: {}
   254  
   255  ## Affinity settings for pod assignment
   256  ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
   257  affinity: {}
   258  
   259  ## Tolerations for pod assignment
   260  ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
   261  tolerations: []
   262  
   263  ## Topology spread constraints for pod assignment
   264  ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
   265  topologySpreadConstraints: []
   266  
   267  # Annotations to be added to the deployment/statefulset
   268  annotations: {}
   269  
   270  # Annotations to be added to the pod
   271  podAnnotations: {}
   272  
   273  ## Assign a PriorityClassName to pods if set
   274  # priorityClassName: ""
   275  
   276  # Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
   277  podDisruptionBudget: {}
   278  
   279  # Comma-separated list of metrics to be exposed.
   280  # This list comprises of exact metric names and/or regex patterns.
   281  # The allowlist and denylist are mutually exclusive.
   282  metricAllowlist: []
   283  
   284  # Comma-separated list of metrics not to be enabled.
   285  # This list comprises of exact metric names and/or regex patterns.
   286  # The allowlist and denylist are mutually exclusive.
   287  metricDenylist: []
   288  
   289  # Comma-separated list of additional Kubernetes label keys that will be used in the resource's
   290  # labels metric. By default the metric contains only name and namespace labels.
   291  # To include additional labels, provide a list of resource names in their plural form and Kubernetes
   292  # label keys you would like to allow for them (Example: '=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)'.
   293  # A single '*' can be provided per resource instead to allow any labels, but that has
   294  # severe performance implications (Example: '=pods=[*]').
   295  metricLabelsAllowlist: []
   296    # - namespaces=[k8s-label-1,k8s-label-n]
   297  
   298  # Comma-separated list of Kubernetes annotations keys that will be used in the resource'
   299  # labels metric. By default the metric contains only name and namespace labels.
   300  # To include additional annotations provide a list of resource names in their plural form and Kubernetes
   301  # annotation keys you would like to allow for them (Example: '=namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...)'.
   302  # A single '*' can be provided per resource instead to allow any annotations, but that has
   303  # severe performance implications (Example: '=pods=[*]').
   304  metricAnnotationsAllowList: []
   305    # - pods=[k8s-annotation-1,k8s-annotation-n]
   306  
   307  # Available collectors for kube-state-metrics.
   308  # By default, all available resources are enabled, comment out to disable.
   309  collectors:
   310    - certificatesigningrequests
   311    - configmaps
   312    - cronjobs
   313    - daemonsets
   314    - deployments
   315    - endpoints
   316    - horizontalpodautoscalers
   317    - ingresses
   318    - jobs
   319    - leases
   320    - limitranges
   321    - mutatingwebhookconfigurations
   322    - namespaces
   323    - networkpolicies
   324    - nodes
   325    - persistentvolumeclaims
   326    - persistentvolumes
   327    - poddisruptionbudgets
   328    - pods
   329    - replicasets
   330    - replicationcontrollers
   331    - resourcequotas
   332    - secrets
   333    - services
   334    - statefulsets
   335    - storageclasses
   336    - validatingwebhookconfigurations
   337    - volumeattachments
   338  
   339  # Enabling kubeconfig will pass the --kubeconfig argument to the container
   340  kubeconfig:
   341    enabled: false
   342    # base64 encoded kube-config file
   343    secret:
   344  
   345  # Enabling support for customResourceState, will create a configMap including your config that will be read from kube-state-metrics
   346  customResourceState:
   347    enabled: false
   348    # Add (Cluster)Role permissions to list/watch the customResources defined in the config to rbac.extraRules
   349    config: {}
   350  
   351  # Enable only the release namespace for collecting resources. By default all namespaces are collected.
   352  # If releaseNamespace and namespaces are both set a merged list will be collected.
   353  releaseNamespace: false
   354  
   355  # Comma-separated list(string) or yaml list of namespaces to be enabled for collecting resources. By default all namespaces are collected.
   356  namespaces: ""
   357  
   358  # Comma-separated list of namespaces not to be enabled. If namespaces and namespaces-denylist are both set,
   359  # only namespaces that are excluded in namespaces-denylist will be used.
   360  namespacesDenylist: ""
   361  
   362  ## Override the deployment namespace
   363  ##
   364  namespaceOverride: ""
   365  
   366  resources: {}
   367    # We usually recommend not to specify default resources and to leave this as a conscious
   368    # choice for the user. This also increases chances charts run on environments with little
   369    # resources, such as Minikube. If you do want to specify resources, uncomment the following
   370    # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
   371    # limits:
   372    #  cpu: 100m
   373    #  memory: 64Mi
   374    # requests:
   375    #  cpu: 10m
   376    #  memory: 32Mi
   377  
   378  ## Provide a k8s version to define apiGroups for podSecurityPolicy Cluster Role.
   379  ## For example: kubeTargetVersionOverride: 1.14.9
   380  ##
   381  kubeTargetVersionOverride: ""
   382  
   383  # Enable self metrics configuration for service and Service Monitor
   384  # Default values for telemetry configuration can be overridden
   385  # If you set telemetryNodePort, you must also set service.type to NodePort
   386  selfMonitor:
   387    enabled: false
   388    # telemetryHost: 0.0.0.0
   389    # telemetryPort: 8081
   390    # telemetryNodePort: 0
   391  
   392  # Enable vertical pod autoscaler support for kube-state-metrics
   393  verticalPodAutoscaler:
   394    enabled: false
   395  
   396    # Recommender responsible for generating recommendation for the object.
   397    # List should be empty (then the default recommender will generate the recommendation)
   398    # or contain exactly one recommender.
   399    # recommenders: []
   400    # - name: custom-recommender-performance
   401  
   402    # List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
   403    controlledResources: []
   404    # Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits.
   405    # controlledValues: RequestsAndLimits
   406  
   407    # Define the max allowed resources for the pod
   408    maxAllowed: {}
   409    # cpu: 200m
   410    # memory: 100Mi
   411    # Define the min allowed resources for the pod
   412    minAllowed: {}
   413    # cpu: 200m
   414    # memory: 100Mi
   415  
   416    # updatePolicy:
   417      # Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction
   418      # minReplicas: 1
   419      # Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
   420      # are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
   421      # updateMode: Auto
   422  
   423  # volumeMounts are used to add custom volume mounts to deployment.
   424  # See example below
   425  volumeMounts: []
   426  #  - mountPath: /etc/config
   427  #    name: config-volume
   428  
   429  # volumes are used to add custom volumes to deployment
   430  # See example below
   431  volumes: []
   432  #  - configMap:
   433  #      name: cm-for-volume
   434  #    name: config-volume
   435  
   436  # Extra manifests to deploy as an array
   437  extraManifests: []
   438    # - apiVersion: v1
   439    #   kind: ConfigMap
   440    #   metadata:
   441    #   labels:
   442    #     name: prometheus-extra
   443    #   data:
   444    #     extra-data: "value"