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"