From ff8392dfb4f0771b17128c8792c883e06ea7c14b Mon Sep 17 00:00:00 2001 From: Miguel Ruiz Date: Thu, 26 May 2022 12:36:44 +0200 Subject: [PATCH] [bitnami/kube-state-metrics] Chart standardised (#10249) * [bitnami/kube-state-metrics] Chart standardised Signed-off-by: Miguel Ruiz * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers * Add diagnosticMode notes Signed-off-by: Miguel Ruiz * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers Co-authored-by: Fran Mulero Co-authored-by: Bitnami Containers --- bitnami/kube-state-metrics/Chart.yaml | 2 +- bitnami/kube-state-metrics/README.md | 81 ++++++-- .../kube-state-metrics/templates/NOTES.txt | 41 +++- .../templates/clusterrole.yaml | 2 +- .../templates/clusterrolebinding.yaml | 4 +- .../templates/deployment.yaml | 113 +++++++---- .../templates/psp-clusterrole.yaml | 2 +- .../templates/psp-clusterrolebinding.yaml | 4 +- bitnami/kube-state-metrics/templates/psp.yaml | 2 +- .../kube-state-metrics/templates/service.yaml | 32 ++-- .../templates/serviceaccount.yaml | 13 +- .../templates/servicemonitor.yaml | 13 +- bitnami/kube-state-metrics/values.yaml | 181 ++++++++++++++++-- 13 files changed, 381 insertions(+), 109 deletions(-) diff --git a/bitnami/kube-state-metrics/Chart.yaml b/bitnami/kube-state-metrics/Chart.yaml index cb17f06d4c..3221de507d 100644 --- a/bitnami/kube-state-metrics/Chart.yaml +++ b/bitnami/kube-state-metrics/Chart.yaml @@ -23,4 +23,4 @@ name: kube-state-metrics sources: - https://github.com/bitnami/bitnami-docker-kube-state-metrics - https://github.com/kubernetes/kube-state-metrics -version: 2.2.24 +version: 3.0.0 diff --git a/bitnami/kube-state-metrics/README.md b/bitnami/kube-state-metrics/README.md index 9daf176fd3..0bbd89536e 100644 --- a/bitnami/kube-state-metrics/README.md +++ b/bitnami/kube-state-metrics/README.md @@ -7,7 +7,7 @@ kube-state-metrics is a simple service that listens to the Kubernetes API server [Overview of Kube State Metrics](https://github.com/kubernetes/kube-state-metrics) Trademarks: This software listing is packaged by Bitnami. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement. - + ## TL;DR ```bash @@ -65,13 +65,18 @@ The command removes all the Kubernetes components associated with the chart and ### Common parameters -| Name | Description | Value | -| ------------------- | ------------------------------------------------------------------------------------------------------------- | ----- | -| `nameOverride` | String to partially override `kube-state-metrics.name` template with a string (will prepend the release name) | `""` | -| `fullnameOverride` | String to fully override `kube-state-metrics.fullname` template with a string | `""` | -| `commonLabels` | Add labels to all the deployed resources | `{}` | -| `commonAnnotations` | Add annotations to all the deployed resources | `{}` | -| `extraDeploy` | Array of extra objects to deploy with the release | `[]` | +| Name | Description | Value | +| ------------------------ | ------------------------------------------------------------------------------------------------------------- | -------------- | +| `kubeVersion` | Force target Kubernetes version (using Helm capabilities if not set) | `""` | +| `nameOverride` | String to partially override `kube-state-metrics.name` template with a string (will prepend the release name) | `""` | +| `fullnameOverride` | String to fully override `kube-state-metrics.fullname` template with a string | `""` | +| `namespaceOverride` | String to fully override common.names.namespace | `""` | +| `commonLabels` | Add labels to all the deployed resources | `{}` | +| `commonAnnotations` | Add annotations to all the deployed resources | `{}` | +| `extraDeploy` | Array of extra objects to deploy with the release | `[]` | +| `diagnosticMode.enabled` | Enable diagnostic mode (all probes will be disabled and the command will be overridden) | `false` | +| `diagnosticMode.command` | Command to override all containers in the the deployment(s)/statefulset(s) | `["sleep"]` | +| `diagnosticMode.args` | Args to override all containers in the the deployment(s)/statefulset(s) | `["infinity"]` | ### kube-state-metrics parameters @@ -80,16 +85,27 @@ The command removes all the Kubernetes components associated with the chart and | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------- | | `hostAliases` | Add deployment host aliases | `[]` | | `rbac.create` | Whether to create & use RBAC resources or not | `true` | -| `rbac.apiVersion` | Version of the RBAC API | `v1beta1` | | `rbac.pspEnabled` | Whether to create a PodSecurityPolicy and bound it with RBAC. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later | `true` | -| `serviceAccount.create` | Specify whether to create a ServiceAccount for kube-state-metrics | `true` | -| `serviceAccount.name` | The name of the ServiceAccount to create | `""` | +| `serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` | +| `serviceAccount.name` | Name of the service account to use. If not set and create is true, a name is generated using the fullname template. | `""` | +| `serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `true` | +| `serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if `create` is `true`. | `{}` | | `image.registry` | kube-state-metrics image registry | `docker.io` | | `image.repository` | kube-state-metrics image repository | `bitnami/kube-state-metrics` | -| `image.tag` | kube-state-metrics Image tag (immutable tags are recommended) | `2.3.0-debian-10-r31` | +| `image.tag` | kube-state-metrics Image tag (immutable tags are recommended) | `2.4.2-debian-10-r72` | | `image.pullPolicy` | kube-state-metrics image pull policy | `IfNotPresent` | | `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | | `extraArgs` | Additional command line arguments to pass to kube-state-metrics | `{}` | +| `command` | Override default container command (useful when using custom images) | `[]` | +| `args` | Override default container args (useful when using custom images) | `[]` | +| `lifecycleHooks` | for the kube-state-metrics container(s) to automate configuration before or after startup | `{}` | +| `extraEnvVars` | Array with extra environment variables to add to kube-state-metrics nodes | `[]` | +| `extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for kube-state-metrics pod(s) | `""` | +| `extraEnvVarsSecret` | Name of existing Secret containing extra env vars for kube-state-metrics pod(s) | `""` | +| `extraVolumes` | Optionally specify extra list of additional volumes for the kube-state-metrics pod(s) | `[]` | +| `extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the kube-state-metrics container(s) | `[]` | +| `sidecars` | Add additional sidecar containers to the kube-state-metrics pod(s) | `[]` | +| `initContainers` | Add additional init containers to the kube-state-metrics pod(s) | `[]` | | `namespaces` | Comma-separated list of namespaces to be enabled. Defaults to all namespaces. Evaluated as a template. | `""` | | `kubeResources.certificatesigningrequests` | Enable the `certificatesigningrequests` resource | `true` | | `kubeResources.configmaps` | Enable the `configmaps` resource | `true` | @@ -119,19 +135,28 @@ The command removes all the Kubernetes components associated with the chart and | `kubeResources.verticalpodautoscalers` | Enable the `verticalpodautoscalers` resource | `false` | | `kubeResources.validatingwebhookconfigurations` | Enable the `validatingwebhookconfigurations` resource | `false` | | `kubeResources.volumeattachments` | Enable the `volumeattachments` resource | `true` | -| `securityContext.enabled` | Enable security context | `true` | -| `securityContext.fsGroup` | Group ID for the container filesystem | `1001` | -| `securityContext.runAsUser` | User ID for the container | `1001` | +| `podSecurityContext.enabled` | Enabled kube-state-metrics pods' Security Context | `true` | +| `podSecurityContext.fsGroup` | Set kube-state-metrics pod's Security Context fsGroup | `1001` | +| `containerSecurityContext.enabled` | Enabled kube-state-metrics containers' Security Context | `true` | +| `containerSecurityContext.runAsUser` | Set kube-state-metrics containers' Security Context runAsUser | `1001` | +| `containerSecurityContext.runAsNonRoot` | Set kube-state-metrics container's Security Context runAsNonRoot | `true` | | `service.type` | Kubernetes service type | `ClusterIP` | -| `service.port` | kube-state-metrics service port | `8080` | +| `service.ports.http` | kube-state-metrics service port | `8080` | +| `service.nodePorts.http` | Specify the nodePort value for the LoadBalancer and NodePort service types. | `""` | | `service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `""` | -| `service.nodePort` | Specify the nodePort value for the LoadBalancer and NodePort service types. | `""` | | `service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `""` | | `service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` | +| `service.externalTrafficPolicy` | kube-state-metrics service external traffic policy | `Cluster` | +| `service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` | | `service.annotations` | Additional annotations for kube-state-metrics service | `{}` | | `service.labels` | Additional labels for kube-state-metrics service | `{}` | +| `service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` | +| `service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` | | `hostNetwork` | Enable hostNetwork mode | `false` | | `priorityClassName` | Priority class assigned to the Pods | `""` | +| `schedulerName` | Name of the k8s scheduler (other than default) | `""` | +| `terminationGracePeriodSeconds` | In seconds, time the given to the kube-state-metrics pod needs to terminate gracefully | `""` | +| `topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` | | `resources.limits` | The resources limits for the container | `{}` | | `resources.requests` | The requested resources for the container | `{}` | | `replicaCount` | Desired number of controller pods | `1` | @@ -159,6 +184,15 @@ The command removes all the Kubernetes components associated with the chart and | `readinessProbe.timeoutSeconds` | When the probe times out | `5` | | `readinessProbe.failureThreshold` | Minimum consecutive failures for the probe | `6` | | `readinessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` | +| `startupProbe.enabled` | Turn on and off startup probe | `false` | +| `startupProbe.initialDelaySeconds` | Delay before startup probe is initiated | `30` | +| `startupProbe.periodSeconds` | How often to perform the probe | `10` | +| `startupProbe.timeoutSeconds` | When the probe times out | `5` | +| `startupProbe.failureThreshold` | Minimum consecutive failures for the probe | `6` | +| `startupProbe.successThreshold` | Minimum consecutive successes for the probe | `1` | +| `customStartupProbe` | Custom liveness probe for the Web component | `{}` | +| `customLivenessProbe` | Custom liveness probe for the Web component | `{}` | +| `customReadinessProbe` | Custom readiness probe for the Web component | `{}` | | `serviceMonitor.enabled` | Creates a ServiceMonitor to monitor kube-state-metrics | `false` | | `serviceMonitor.namespace` | Namespace in which Prometheus is running | `""` | | `serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` | @@ -168,6 +202,7 @@ The command removes all the Kubernetes components associated with the chart and | `serviceMonitor.honorLabels` | Honor metrics labels | `false` | | `serviceMonitor.relabelings` | ServiceMonitor relabelings | `[]` | | `serviceMonitor.metricRelabelings` | ServiceMonitor metricRelabelings | `[]` | +| `serviceMonitor.labels` | Extra labels for the ServiceMonitor | `{}` | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example the following command sets the `replicas` of the kube-state-metrics Pods to `2`. @@ -214,6 +249,16 @@ Find more information about how to deal with common errors related to Bitnami's $ helm upgrade my-release bitnami/kube-state-metrics ``` +### To 3.0.0 + +This major release renames several values in this chart and adds missing features, in order to be aligned with the rest of the assets in the Bitnami charts repository. + +Affected values: +- `service.port` was renamed as `service.ports.metrics`. +- `service.nodePort` was renamed as `service.nodePorts.metrics`. +- `securityContext` was split in `podSecurityContext` and `containerSecurityContext`. +- Removed unused value `rbac.apiVersion`. + ### To 2.0.0 This version updates kube-state-metrics to its new major, 2.0.0. There have been some value's name changes to acommodate to the naming used in 2.0.0: @@ -247,4 +292,4 @@ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file +limitations under the License. diff --git a/bitnami/kube-state-metrics/templates/NOTES.txt b/bitnami/kube-state-metrics/templates/NOTES.txt index 9780f43a6f..7b1564638d 100644 --- a/bitnami/kube-state-metrics/templates/NOTES.txt +++ b/bitnami/kube-state-metrics/templates/NOTES.txt @@ -4,37 +4,58 @@ APP VERSION: {{ .Chart.AppVersion }} ** Please be patient while the chart is being deployed ** +{{- if .Values.diagnosticMode.enabled }} +The chart has been deployed in diagnostic mode. All probes have been disabled and the command has been overwritten with: + + command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 4 }} + args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 4 }} + +Get the list of pods by executing: + + kubectl get pods --namespace {{ template "common.names.namespace" . }} -l app.kubernetes.io/instance={{ .Release.Name }} + +Access the pod you want to debug by executing + + kubectl exec --namespace {{ template "common.names.namespace" . }} -ti -- bash + +In order to replicate the container startup scripts execute this command: + + kube-state-metrics --port=8080 --telemetry-port=8081 + +{{- else }} + Watch the kube-state-metrics Deployment status using the command: - kubectl get deploy -w --namespace {{ .Release.Namespace }} {{ template "common.names.fullname" . }} + kubectl get deploy -w --namespace {{ include "common.names.namespace" . }} {{ template "common.names.fullname" . }} -kube-state-metrics can be accessed via port "{{ .Values.service.port }}" on the following DNS name from within your cluster: +kube-state-metrics can be accessed via port "{{ .Values.service.ports.http }}" on the following DNS name from within your cluster: - {{ template "common.names.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local + {{ template "common.names.fullname" . }}.{{ include "common.names.namespace" . }}.svc.cluster.local To access kube-state-metrics from outside the cluster execute the following commands: {{- if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "common.names.fullname" . }}' + Watch the status with: 'kubectl get svc --namespace {{ include "common.names.namespace" . }} -w {{ template "common.names.fullname" . }}' -{{- $port:=.Values.service.port | toString }} +{{- $port:=.Values.service.ports.http | toString }} - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "common.names.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}") - echo "URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.service.port }}{{ end }}/" + export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.names.namespace" . }} {{ template "common.names.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}") + echo "URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.service.ports.http }}{{ end }}/" {{- else if contains "ClusterIP" .Values.service.type }} echo "URL: http://127.0.0.1:9100/" - kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ template "common.names.fullname" . }} 9100:{{ .Values.service.port }} + kubectl port-forward --namespace {{ include "common.names.namespace" . }} svc/{{ template "common.names.fullname" . }} 9100:{{ .Values.service.ports.http }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "common.names.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + export NODE_PORT=$(kubectl get --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "common.names.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}") echo "URL: http://$NODE_IP:$NODE_PORT/" {{- end }} +{{- end }} {{- include "kube-state-metrics.checkRollingTags" . }} diff --git a/bitnami/kube-state-metrics/templates/clusterrole.yaml b/bitnami/kube-state-metrics/templates/clusterrole.yaml index b01fcf30e1..866e8d83c8 100644 --- a/bitnami/kube-state-metrics/templates/clusterrole.yaml +++ b/bitnami/kube-state-metrics/templates/clusterrole.yaml @@ -3,7 +3,7 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} kind: ClusterRole metadata: name: {{ template "common.names.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} diff --git a/bitnami/kube-state-metrics/templates/clusterrolebinding.yaml b/bitnami/kube-state-metrics/templates/clusterrolebinding.yaml index 13813d7561..8a2462c2cb 100644 --- a/bitnami/kube-state-metrics/templates/clusterrolebinding.yaml +++ b/bitnami/kube-state-metrics/templates/clusterrolebinding.yaml @@ -3,7 +3,7 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} kind: ClusterRoleBinding metadata: name: {{ template "common.names.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} @@ -18,5 +18,5 @@ roleRef: subjects: - kind: ServiceAccount name: {{ template "kube-state-metrics.serviceAccountName" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- end }} diff --git a/bitnami/kube-state-metrics/templates/deployment.yaml b/bitnami/kube-state-metrics/templates/deployment.yaml index db804571ae..42773054f4 100644 --- a/bitnami/kube-state-metrics/templates/deployment.yaml +++ b/bitnami/kube-state-metrics/templates/deployment.yaml @@ -2,7 +2,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: name: {{ template "common.names.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} @@ -18,37 +18,25 @@ spec: minReadySeconds: {{ .Values.minReadySeconds }} template: metadata: - {{- if or .Values.podAnnotations .Values.commonAnnotations }} annotations: - {{- if .Values.commonAnnotations }} + {{- if .Values.commonAnnotations }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 8 }} - {{- end }} - {{- if .Values.podAnnotations }} + {{- end }} + {{- if .Values.podAnnotations }} {{- include "common.tplvalues.render" ( dict "value" .Values.podAnnotations "context" $) | nindent 8 }} - {{- end }} - {{- end }} + {{- end }} labels: {{- include "common.labels.standard" . | nindent 8 }} {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 8 }} {{- end }} {{- if .Values.podLabels }} - {{- toYaml .Values.podLabels | nindent 8 }} + {{- include "common.tplvalues.render" ( dict "value" .Values.podLabels "context" $ ) | nindent 8 }} {{- end }} spec: {{- include "kube-state-metrics.imagePullSecrets" . | nindent 6 }} {{- if .Values.hostAliases }} hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.hostAliases "context" $) | nindent 8 }} {{- end }} - {{- if .Values.priorityClassName }} - priorityClassName: {{ .Values.priorityClassName }} - {{- end }} - {{- if .Values.securityContext.enabled }} - securityContext: - runAsUser: {{ .Values.securityContext.runAsUser }} - fsGroup: {{ .Values.securityContext.fsGroup }} - {{- end }} - hostNetwork: {{ .Values.hostNetwork }} - serviceAccountName: {{ template "kube-state-metrics.serviceAccountName" . }} {{- if .Values.affinity }} affinity: {{- include "common.tplvalues.render" (dict "value" .Values.affinity "context" $) | nindent 8 }} {{- else }} @@ -63,10 +51,43 @@ spec: {{- if .Values.tolerations }} tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.tolerations "context" $) | nindent 8 }} {{- end }} + hostNetwork: {{ .Values.hostNetwork }} + {{- if .Values.priorityClassName }} + priorityClassName: {{ .Values.priorityClassName }} + {{- end }} + {{- if .Values.schedulerName }} + schedulerName: {{ .Values.schedulerName | quote }} + {{- end }} + {{- if .Values.topologySpreadConstraints }} + topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.topologySpreadConstraints "context" .) | nindent 8 }} + {{- end }} + {{- if .Values.podSecurityContext.enabled }} + securityContext: {{- omit .Values.podSecurityContext "enabled" | toYaml | nindent 8 }} + {{- end }} + {{- if .Values.terminationGracePeriodSeconds }} + terminationGracePeriodSeconds: {{ .Values.terminationGracePeriodSeconds }} + {{- end }} + serviceAccountName: {{ template "kube-state-metrics.serviceAccountName" . }} + {{- if .Values.initContainers }} + initContainers: {{- include "common.tplvalues.render" (dict "value" .Values.initContainers "context" $) | nindent 8 }} + {{- end }} containers: - name: kube-state-metrics image: {{ template "kube-state-metrics.image" . }} imagePullPolicy: {{ .Values.image.pullPolicy }} + {{- if .Values.containerSecurityContext.enabled }} + securityContext: {{- omit .Values.containerSecurityContext "enabled" | toYaml | nindent 12 }} + {{- end }} + {{- if .Values.diagnosticMode.enabled }} + command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }} + {{- else if .Values.command }} + command: {{- include "common.tplvalues.render" (dict "value" .Values.command "context" $) | nindent 12 }} + {{- end }} + {{- if .Values.diagnosticMode.enabled }} + args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 12 }} + {{- else if .Values.args }} + args: {{- include "common.tplvalues.render" (dict "value" .Values.args "context" $) | nindent 12 }} + {{- else }} args: {{- if .Values.kubeResources.certificatesigningrequests }} - --resources=certificatesigningrequests @@ -162,32 +183,60 @@ spec: - --{{ $key }} {{- end }} {{- end }} + {{- end }} + {{- if .Values.lifecycleHooks }} + lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.lifecycleHooks "context" $) | nindent 12 }} + {{- end }} + {{- if .Values.extraEnvVars }} + env: {{- include "common.tplvalues.render" (dict "value" .Values.extraEnvVars "context" $) | nindent 12 }} + {{- end }} + envFrom: + {{- if .Values.extraEnvVarsCM }} + - configMapRef: + name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsCM "context" $) }} + {{- end }} + {{- if .Values.extraEnvVarsSecret }} + - secretRef: + name: {{ include "common.tplvalues.render" (dict "value" .Values.extraEnvVarsSecret "context" $) }} + {{- end }} + {{- if .Values.resources }} + resources: {{- toYaml .Values.resources | nindent 12 }} + {{- end }} ports: - name: http containerPort: 8080 protocol: TCP + {{- if not .Values.diagnosticMode.enabled }} {{- if .Values.livenessProbe.enabled }} - livenessProbe: + livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.livenessProbe "enabled") "context" $) | nindent 12 }} httpGet: path: /healthz port: http - initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.livenessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }} - successThreshold: {{ .Values.livenessProbe.successThreshold }} - failureThreshold: {{ .Values.livenessProbe.failureThreshold }} + {{- else if .Values.customLivenessProbe }} + livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customLivenessProbe "context" $) | nindent 12 }} {{- end }} {{- if .Values.readinessProbe.enabled }} - readinessProbe: + readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.readinessProbe "enabled") "context" $) | nindent 12 }} httpGet: path: / port: http - initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.readinessProbe.periodSeconds }} - timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} - successThreshold: {{ .Values.readinessProbe.successThreshold }} - failureThreshold: {{ .Values.readinessProbe.failureThreshold }} + {{- else if .Values.customReadinessProbe }} + readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customReadinessProbe "context" $) | nindent 12 }} {{- end }} - {{- if .Values.resources }} - resources: {{- toYaml .Values.resources | nindent 12 }} + {{- if .Values.startupProbe.enabled }} + startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.startupProbe "enabled") "context" $) | nindent 12 }} + tcpSocket: + port: http + {{- else if .Values.customStartupProbe }} + startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.customStartupProbe "context" $) | nindent 12 }} {{- end }} + {{- end }} + {{- if .Values.extraVolumeMounts }} + volumeMounts: {{- include "common.tplvalues.render" (dict "value" .Values.extraVolumeMounts "context" $) | nindent 12 }} + {{- end }} + {{- if .Values.sidecars }} + {{- include "common.tplvalues.render" ( dict "value" .Values.sidecars "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.extraVolumes }} + volumes: {{- include "common.tplvalues.render" (dict "value" .Values.extraVolumes "context" $) | nindent 8 }} + {{- end }} diff --git a/bitnami/kube-state-metrics/templates/psp-clusterrole.yaml b/bitnami/kube-state-metrics/templates/psp-clusterrole.yaml index 91acb81cce..7f7d74c086 100644 --- a/bitnami/kube-state-metrics/templates/psp-clusterrole.yaml +++ b/bitnami/kube-state-metrics/templates/psp-clusterrole.yaml @@ -4,7 +4,7 @@ kind: ClusterRole apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} metadata: name: {{ template "common.names.fullname" . }}-psp - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} diff --git a/bitnami/kube-state-metrics/templates/psp-clusterrolebinding.yaml b/bitnami/kube-state-metrics/templates/psp-clusterrolebinding.yaml index ef45b89148..b99a39e2aa 100644 --- a/bitnami/kube-state-metrics/templates/psp-clusterrolebinding.yaml +++ b/bitnami/kube-state-metrics/templates/psp-clusterrolebinding.yaml @@ -4,7 +4,7 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }} kind: ClusterRoleBinding metadata: name: {{ template "common.names.fullname" . }}-psp - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} @@ -19,5 +19,5 @@ roleRef: subjects: - kind: ServiceAccount name: {{ template "kube-state-metrics.serviceAccountName" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- end }} diff --git a/bitnami/kube-state-metrics/templates/psp.yaml b/bitnami/kube-state-metrics/templates/psp.yaml index 88db781ebb..8f9b259a36 100644 --- a/bitnami/kube-state-metrics/templates/psp.yaml +++ b/bitnami/kube-state-metrics/templates/psp.yaml @@ -4,7 +4,7 @@ apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: {{ template "common.names.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} diff --git a/bitnami/kube-state-metrics/templates/service.yaml b/bitnami/kube-state-metrics/templates/service.yaml index c58a48812e..dc4568e4d7 100644 --- a/bitnami/kube-state-metrics/templates/service.yaml +++ b/bitnami/kube-state-metrics/templates/service.yaml @@ -2,11 +2,11 @@ apiVersion: v1 kind: Service metadata: name: {{ template "common.names.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} annotations: {{- if not .Values.serviceMonitor.enabled }} prometheus.io/scrape: "true" - prometheus.io/port: {{ .Values.service.port | quote }} + prometheus.io/port: {{ .Values.service.ports.http | quote }} {{- end }} {{- if .Values.commonAnnotations }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} @@ -19,28 +19,38 @@ metadata: {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} {{- end }} {{- if .Values.service.labels }} - {{- toYaml .Values.service.labels | nindent 4 }} + {{- include "common.tplvalues.render" ( dict "value" .Values.service.labels "context" $ ) | nindent 4 }} {{- end }} spec: type: {{ .Values.service.type }} - {{- if and .Values.service.loadBalancerIP (eq .Values.service.type "LoadBalancer") }} + {{- if and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerIP)) }} loadBalancerIP: {{ .Values.service.loadBalancerIP }} {{- end }} - {{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges }} - {{- with .Values.service.loadBalancerSourceRanges }} - loadBalancerSourceRanges: {{- toYaml . | nindent 4 }} + {{- if and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerSourceRanges)) }} + loadBalancerSourceRanges: {{ .Values.service.loadBalancerSourceRanges }} {{- end }} + {{- if .Values.service.sessionAffinity }} + sessionAffinity: {{ .Values.service.sessionAffinity }} {{- end }} - {{- if and (eq .Values.service.type "ClusterIP") .Values.service.clusterIP }} + {{- if .Values.service.sessionAffinityConfig }} + sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.service.sessionAffinityConfig "context" $) | nindent 4 }} + {{- end }} + {{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }} + externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }} + {{- end }} + {{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }} clusterIP: {{ .Values.service.clusterIP }} {{- end }} ports: - name: http - port: {{ .Values.service.port }} + port: {{ .Values.service.ports.http }} targetPort: http - {{- if and .Values.service.nodePort (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) }} - nodePort: {{ .Values.service.nodePort }} + {{- if and .Values.service.nodePorts.http (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) }} + nodePort: {{ .Values.service.nodePorts.http }} {{- else if eq .Values.service.type "ClusterIP" }} nodePort: null {{- end }} + {{- if .Values.service.extraPorts }} + {{- include "common.tplvalues.render" (dict "value" .Values.service.extraPorts "context" $) | nindent 4 }} + {{- end }} selector: {{- include "common.labels.matchLabels" . | nindent 4 }} diff --git a/bitnami/kube-state-metrics/templates/serviceaccount.yaml b/bitnami/kube-state-metrics/templates/serviceaccount.yaml index 8c5d790ff8..81c46f81aa 100644 --- a/bitnami/kube-state-metrics/templates/serviceaccount.yaml +++ b/bitnami/kube-state-metrics/templates/serviceaccount.yaml @@ -3,12 +3,19 @@ apiVersion: v1 kind: ServiceAccount metadata: name: {{ template "kube-state-metrics.serviceAccountName" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} {{- end }} - {{- if .Values.commonAnnotations }} - annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} + {{- if or .Values.serviceAccount.annotations .Values.commonAnnotations }} + annotations: + {{- if .Values.commonAnnotations }} + {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} + {{- end }} + {{- if .Values.serviceAccount.annotations }} + {{- include "common.tplvalues.render" (dict "value" .Values.serviceAccount.annotations "context" $) | nindent 4 }} + {{- end }} {{- end }} +automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} {{- end }} diff --git a/bitnami/kube-state-metrics/templates/servicemonitor.yaml b/bitnami/kube-state-metrics/templates/servicemonitor.yaml index 4a7b7d4feb..f9c2b89677 100644 --- a/bitnami/kube-state-metrics/templates/servicemonitor.yaml +++ b/bitnami/kube-state-metrics/templates/servicemonitor.yaml @@ -3,18 +3,19 @@ apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: {{ template "common.names.fullname" . }} - namespace: {{ default .Release.Namespace .Values.serviceMonitor.namespace | quote }} + namespace: {{ default include "common.names.namespace" . .Values.serviceMonitor.namespace | quote }} labels: {{- include "common.labels.standard" . | nindent 4 }} {{- if .Values.commonLabels }} {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} {{- end }} + {{- if .Values.serviceMonitor.labels }} + {{- include "common.tplvalues.render" ( dict "value" .Values.serviceMonitor.labels "context" $ ) | nindent 4 }} + {{- end }} {{- if .Values.commonAnnotations }} annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- end }} spec: - {{- if .Values.serviceMonitor.jobLabel }} - jobLabel: {{ .Values.serviceMonitor.jobLabel }} - {{- end }} + jobLabel: {{ .Values.serviceMonitor.jobLabel | quote }} selector: matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }} {{- if .Values.serviceMonitor.selector }} @@ -28,7 +29,7 @@ spec: {{- if .Values.serviceMonitor.scrapeTimeout }} scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} {{- end }} - {{- if hasKey .Values.serviceMonitor "honorLabels" }} + {{- if .Values.serviceMonitor.honorLabels }} honorLabels: {{ .Values.serviceMonitor.honorLabels }} {{- end }} {{- if .Values.serviceMonitor.relabelings }} @@ -39,5 +40,5 @@ spec: {{- end }} namespaceSelector: matchNames: - - {{ .Release.Namespace }} + - {{ include "common.names.namespace" . | quote }} {{- end }} diff --git a/bitnami/kube-state-metrics/values.yaml b/bitnami/kube-state-metrics/values.yaml index dfa1ff3c40..97e91634a5 100644 --- a/bitnami/kube-state-metrics/values.yaml +++ b/bitnami/kube-state-metrics/values.yaml @@ -20,12 +20,18 @@ global: ## @section Common parameters ## +## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set) +## +kubeVersion: "" ## @param nameOverride String to partially override `kube-state-metrics.name` template with a string (will prepend the release name) ## nameOverride: "" ## @param fullnameOverride String to fully override `kube-state-metrics.fullname` template with a string ## fullnameOverride: "" +## @param namespaceOverride String to fully override common.names.namespace +## +namespaceOverride: "" ## @param commonLabels Add labels to all the deployed resources ## commonLabels: {} @@ -36,6 +42,21 @@ commonAnnotations: {} ## extraDeploy: [] +## Enable diagnostic mode in the deployment(s)/statefulset(s) +## +diagnosticMode: + ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden) + ## + enabled: false + ## @param diagnosticMode.command Command to override all containers in the the deployment(s)/statefulset(s) + ## + command: + - sleep + ## @param diagnosticMode.args Args to override all containers in the the deployment(s)/statefulset(s) + ## + args: + - infinity + ## @section kube-state-metrics parameters ## @@ -50,23 +71,21 @@ rbac: ## @param rbac.create Whether to create & use RBAC resources or not ## create: true - ## @param rbac.apiVersion Version of the RBAC API - ## - apiVersion: v1beta1 ## @param rbac.pspEnabled Whether to create a PodSecurityPolicy and bound it with RBAC. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later ## pspEnabled: true ## Service account for kube-state-metrics to use. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ +## @param serviceAccount.create Specifies whether a ServiceAccount should be created +## @param serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template. +## @param serviceAccount.automountServiceAccountToken Automount service account token for the server service account +## @param serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`. ## serviceAccount: - ## @param serviceAccount.create Specify whether to create a ServiceAccount for kube-state-metrics - ## create: true - ## @param serviceAccount.name The name of the ServiceAccount to create - ## If not set and create is true, a name is generated using the kube-state-metrics.fullname template - ## name: "" + automountServiceAccountToken: true + annotations: {} ## Bitnami kube-state-metrics image version ## ref: https://hub.docker.com/r/bitnami/kube-state-metrics/tags/ ## @param image.registry kube-state-metrics image registry @@ -95,6 +114,55 @@ image: ## @param extraArgs Additional command line arguments to pass to kube-state-metrics ## extraArgs: {} +## @param command Override default container command (useful when using custom images) +## +command: [] +## @param args Override default container args (useful when using custom images) +## +args: [] +## @param lifecycleHooks for the kube-state-metrics container(s) to automate configuration before or after startup +## +lifecycleHooks: {} +## @param extraEnvVars Array with extra environment variables to add to kube-state-metrics nodes +## e.g: +## extraEnvVars: +## - name: FOO +## value: "bar" +## +extraEnvVars: [] +## @param extraEnvVarsCM Name of existing ConfigMap containing extra env vars for kube-state-metrics pod(s) +## +extraEnvVarsCM: "" +## @param extraEnvVarsSecret Name of existing Secret containing extra env vars for kube-state-metrics pod(s) +## +extraEnvVarsSecret: "" +## @param extraVolumes Optionally specify extra list of additional volumes for the kube-state-metrics pod(s) +## +extraVolumes: [] +## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for the kube-state-metrics container(s) +## +extraVolumeMounts: [] +## @param sidecars Add additional sidecar containers to the kube-state-metrics pod(s) +## e.g: +## sidecars: +## - name: your-image-name +## image: your-image +## imagePullPolicy: Always +## ports: +## - name: portname +## containerPort: 1234 +## +sidecars: [] +## @param initContainers Add additional init containers to the kube-state-metrics pod(s) +## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ +## e.g: +## initContainers: +## - name: your-image-name +## image: your-image +## imagePullPolicy: Always +## command: ['sh', '-c', 'echo "hello world"'] +## +initContainers: [] ## @param namespaces Comma-separated list of namespaces to be enabled. Defaults to all namespaces. Evaluated as a template. ## namespaces: "" @@ -157,34 +225,46 @@ kubeResources: verticalpodautoscalers: false validatingwebhookconfigurations: false volumeattachments: true -## @param securityContext.enabled Enable security context -## @param securityContext.fsGroup Group ID for the container filesystem -## @param securityContext.runAsUser User ID for the container +## Configure Pods Security Context +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod +## @param podSecurityContext.enabled Enabled kube-state-metrics pods' Security Context +## @param podSecurityContext.fsGroup Set kube-state-metrics pod's Security Context fsGroup ## -securityContext: +podSecurityContext: + enabled: true + fsGroup: 1001 +## Configure Container Security Context +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod +## @param containerSecurityContext.enabled Enabled kube-state-metrics containers' Security Context +## @param containerSecurityContext.runAsUser Set kube-state-metrics containers' Security Context runAsUser +## @param containerSecurityContext.runAsNonRoot Set kube-state-metrics container's Security Context runAsNonRoot +## +containerSecurityContext: enabled: true runAsUser: 1001 - fsGroup: 1001 + runAsNonRoot: true ## kube-state-metrics Service ## service: ## @param service.type Kubernetes service type ## type: ClusterIP - ## @param service.port kube-state-metrics service port + ## @param service.ports.http kube-state-metrics service port ## - port: 8080 + ports: + http: 8080 + ## @param service.nodePorts.http Specify the nodePort value for the LoadBalancer and NodePort service types. + ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport + ## e.g: + ## nodePort: 30080 + ## + nodePorts: + http: "" ## @param service.clusterIP Specific cluster IP when service type is cluster IP. Use `None` for headless service ## e.g: ## clusterIP: None ## clusterIP: "" - ## @param service.nodePort Specify the nodePort value for the LoadBalancer and NodePort service types. - ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport - ## e.g: - ## nodePort: 30080 - ## - nodePort: "" ## @param service.loadBalancerIP `loadBalancerIP` if service type is `LoadBalancer` ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## @@ -196,18 +276,49 @@ service: ## - 10.10.10.0/24 ## loadBalancerSourceRanges: [] + ## @param service.externalTrafficPolicy kube-state-metrics service external traffic policy + ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip + ## + externalTrafficPolicy: Cluster + ## @param service.extraPorts Extra ports to expose (normally used with the `sidecar` value) + ## + extraPorts: [] ## @param service.annotations Additional annotations for kube-state-metrics service ## annotations: {} ## @param service.labels Additional labels for kube-state-metrics service ## labels: {} + ## @param service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP" + ## If "ClientIP", consecutive client requests will be directed to the same Pod + ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies + ## + sessionAffinity: None + ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity + ## sessionAffinityConfig: + ## clientIP: + ## timeoutSeconds: 300 + ## + sessionAffinityConfig: {} ## @param hostNetwork Enable hostNetwork mode ## hostNetwork: false ## @param priorityClassName Priority class assigned to the Pods ## priorityClassName: "" +## @param schedulerName Name of the k8s scheduler (other than default) +## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ +## +schedulerName: "" +## @param terminationGracePeriodSeconds In seconds, time the given to the kube-state-metrics pod needs to terminate gracefully +## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods +## +terminationGracePeriodSeconds: "" +## @param topologySpreadConstraints Topology Spread Constraints for pod assignment +## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ +## The value is evaluated as a template +## +topologySpreadConstraints: [] ## Resource requests and limits ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## choice for the user. This also increases chances charts run on environments with little @@ -319,6 +430,31 @@ readinessProbe: timeoutSeconds: 5 failureThreshold: 6 successThreshold: 1 +## Configure extra options for startup probe +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes +## @param startupProbe.enabled Turn on and off startup probe +## @param startupProbe.initialDelaySeconds Delay before startup probe is initiated +## @param startupProbe.periodSeconds How often to perform the probe +## @param startupProbe.timeoutSeconds When the probe times out +## @param startupProbe.failureThreshold Minimum consecutive failures for the probe +## @param startupProbe.successThreshold Minimum consecutive successes for the probe +## +startupProbe: + enabled: false + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 6 + successThreshold: 1 +## @param customStartupProbe Custom liveness probe for the Web component +## +customStartupProbe: {} +## @param customLivenessProbe Custom liveness probe for the Web component +## +customLivenessProbe: {} +## @param customReadinessProbe Custom readiness probe for the Web component +## +customReadinessProbe: {} ## ServiceMonitor configuration ## serviceMonitor: @@ -366,3 +502,6 @@ serviceMonitor: ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig ## metricRelabelings: [] + ## @param serviceMonitor.labels Extra labels for the ServiceMonitor + ## + labels: {}