1# Default values for cloudprober.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
5# Workload kind: Deployment or DaemonSet.
6# Control placement with nodeSelector, affinity and tolerations.
7workloadKind: Deployment
8# Used only with workloadKind: Deployment.
10# Annotations to add to the workload (Deployment or DaemonSet). Useful e.g. with
11# stakater/Reloader (reloader.stakater.com/auto) to restart the
12# deployment when an externally managed ConfigMap changes.
13deploymentAnnotations: {}
14# Used only with workloadKind: Deployment.
21# Used only with workloadKind: DaemonSet. Empty uses Kubernetes defaults.
22daemonSetUpdateStrategy: {}
25# maxUnavailable: "10%"
28# Empty uses ClusterFirstWithHostNet when hostNetwork is true,
29# otherwise the Kubernetes default (ClusterFirst).
32 repository: chainreg.biz/chainguard-private/cloudprober
33 pullPolicy: IfNotPresent
34 # Overrides the image tag whose default is the chart appVersion.
35 tag: 0.14.6-r0@sha256:ee94b3a074e1b19d2e5f9c6e3759c4a9eb61be1870d554bd23d9a662f0b3d21d
36# externalProberImage: when set, enables running an external probe (see
37# https://cloudprober.org/docs/how-to/external-probe/) that requires extra
38# dependencies (e.g. redis-cli, mysql-client) without building a custom image
39# that bundles both cloudprober and the dependencies.
42# - The cloudprober container runs as an initContainer that copies the
43# cloudprober binary to a shared emptyDir volume.
44# - The externalProberImage is run as the main container and executes the
45# cloudprober binary from the shared volume.
47# The external prober image only needs the extra binaries your external probe
48# invokes; it does not need to include cloudprober itself.
52# repository: myregistry/redis-prober
57 pullPolicy: IfNotPresent
58# extraArgs to add args to the cloudprober container in order to add cloudprober flags
60# - "--cloud_metadata=none"
62# configmap to use for the cloudprober config.
63# configMap name defaults to release name, but can be overridden here.
64# If create is true, a configMap is created from the config value, otherwise
65# an existing configMap is used.
66# One caveat with managing config map outside of helm charts is that you'll
67# need to manage the deployment restart yourself after updating the config
68# map. If you're managing the configMap outside of helm and config file name
69# is different, you should set the value of configFileName as well.
73# You can override the default config filename using the following field. It's
74# typically useful if you're managing the configMap outside of helm.
75configFileName: 'cloudprober'
76# The config file suffix; suffixes that provide different parsing are:
77# "json", "yaml", "yml"
79# You can either embed config here, or keep it in a separate file and provide
80# it at run-time, like this:
81# helm .. --set-file config=<path to cloudprober config>
86# This option is useful to split the config into multiple files. Cloudprober
87# supports including other files using the "include" directive. Using
88# additionalConfigs you can provide additional files to be included in the
89# configmap. All these files will be mounted in the same directory as the
90# main config file, so you can directly include them.
92# For example, if you add an additional config file "team1.cfg", you can
93# include it in the main config file as:
104# To set this value on command line:
105# helm .. --set-file extraConfigs[0].name=team1.cfg,extraConfigs[0].value=$home/team1.cfg"
109# - name: SERVICE_TOKEN
112# name: cloudprober-secrets
115# The name of a secret in the same kubernetes namespace which contains values
116# to be added to the environment (must be manually created). This can be useful
117# for auth tokens, etc.
123 # Specifies whether a service account should be created
125 # Annotations to add to the service account
127 # The name of the service account to use.
128 # If not set and create is true, a name is generated using the fullname template
130# Create RBAC for read-only access to k8s resources.
135podSecurityContext: {}
142# readOnlyRootFilesystem: true
146# Whether to share process namespace within the pod. It's recommended to keep
147# this enabled if you're using browser probes, or external probes that might
148# fork out more processes. It shouldn't hurt regardless.
149# Visit the following link for more details:
150# https://github.com/cloudprober/cloudprober/issues/1128#issuecomment-3207721143
151shareProcessNamespace: true
152# Optional duration in seconds the pod needs to terminate gracefully. When
153# unset, Kubernetes uses its default (30 seconds).
154# terminationGracePeriodSeconds: 60
155terminationGracePeriodSeconds: null
156# Optional graceful drain. When set, a preStop hook keeps the container alive
157# (still answering probes) for this many seconds before SIGTERM is sent, giving
158# load balancers / service discovery time to stop routing to the pod so no
159# probes are lost. When unset, no preStop hook is added.
161# Uses the native `sleep` preStop handler (Kubernetes >= 1.30). If set, ensure
162# terminationGracePeriodSeconds is strictly greater than terminationDrainSeconds
163# (plus any cloudprober stop_time_sec), or the kubelet SIGKILLs mid-shutdown.
164# terminationDrainSeconds: 20
165terminationDrainSeconds: null
170 # Additional ports to expose on the service (e.g. a probe listener).
171 # Entries are Kubernetes ServicePort specs.
183 # kubernetes.io/ingress.class: nginx
184 # kubernetes.io/tls-acme: "true"
186 - host: chart-example.local
189 pathType: ImplementationSpecific
191 # - secretName: chart-example-tls
193 # - chart-example.local
195# We usually recommend not to specify default resources and to leave this as a conscious
196# choice for the user. This also increases chances charts run on environments with little
197# resources, such as Minikube. If you do want to specify resources, uncomment the following
198# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
209# Has no effect with workloadKind: DaemonSet.
210topologySpreadConstraints: []
213# app.kubernetes.io/instance: cloudprober
214# app.kubernetes.io/name: cloudprober
216# topologyKey: topology.kubernetes.io/zone
217# whenUnsatisfiable: ScheduleAnyway
219# Extra configmaps to mount in cloudprober pods
220# Values are templated.
221extraConfigmapMounts: []
222# - name: certs-configmap
223# mountPath: /certs/ssl/
224# subPath: certificates.crt # (optional)
225# configMap: certs-configmap # (optional, defaults to name)
227# defaultMode: 400 # (optional, defaults to 400)
231# - name: additional-probe-secrets
232# mountPath: /var/run/probe/secret
233# subPath: probe.key # (optional)
234# secretName: probe-secret # (optional, defaults to name)
235# defaultMode: 400 # (optional, defaults to 400)
238# Override the checksum annotation to force pod restarts.
239# When empty (default), uses the ConfigMap content hash for automatic restarts on config changes.
240# Set to any unique value (e.g., current timestamp) to force a restart.
242# Extra containers. We can use these containers to run helper services like
243# cypress-server to run UI tests.
246# - name: cypress-server
247# image: ghcr.io/manugarg/cypress-server:latest