blob: c928931dd0e0c0cd7373583dd37a31026c3a7078 [file] [log] [blame]
Sketch🕴️620d57b2025-07-31 22:31:14 +04001# Copyright Broadcom, Inc. All Rights Reserved.
2# SPDX-License-Identifier: APACHE-2.0
3
4## @section Global parameters
5## Global Docker image parameters
6## Please, note that this will override the image parameters, including dependencies, configured to use the global value
7## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
8
9## @param global.imageRegistry Global Docker image registry
10## @param global.imagePullSecrets Global Docker registry secret names as an array
11##
12global:
13 imageRegistry: ""
14 ## E.g.
15 ## imagePullSecrets:
16 ## - myRegistryKeySecretName
17 ##
18 imagePullSecrets: []
19 ## Security parameters
20 ##
21 security:
22 ## @param global.security.allowInsecureImages Allows skipping image verification
23 ##
24 allowInsecureImages: false
25 ## Compatibility adaptations for Kubernetes platforms
26 ##
27 compatibility:
28 ## Compatibility adaptations for Openshift
29 ##
30 openshift:
31 ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
32 ##
33 adaptSecurityContext: auto
34## @section Common parameters
35
36## @param nameOverride String to partially override nginx.fullname template (will maintain the release name)
37##
38nameOverride: ""
39## @param fullnameOverride String to fully override nginx.fullname template
40##
41fullnameOverride: ""
42## @param namespaceOverride String to fully override common.names.namespace
43##
44namespaceOverride: ""
45## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
46##
47kubeVersion: ""
48## @param clusterDomain Kubernetes Cluster Domain
49##
50clusterDomain: cluster.local
51## @param extraDeploy Extra objects to deploy (value evaluated as a template)
52##
53extraDeploy: []
54## @param commonLabels Add labels to all the deployed resources
55##
56commonLabels: {}
57## @param commonAnnotations Add annotations to all the deployed resources
58##
59commonAnnotations: {}
60## Enable diagnostic mode in the deployment(s)/statefulset(s)
61##
62diagnosticMode:
63 ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
64 ##
65 enabled: false
66 ## @param diagnosticMode.command Command to override all containers in the the deployment(s)/statefulset(s)
67 ##
68 command:
69 - sleep
70 ## @param diagnosticMode.args Args to override all containers in the the deployment(s)/statefulset(s)
71 ##
72 args:
73 - infinity
74## @section NGINX parameters
75
76## Bitnami NGINX image version
77## ref: https://hub.docker.com/r/bitnami/nginx/tags/
78## @param image.registry [default: REGISTRY_NAME] NGINX image registry
79## @param image.repository [default: REPOSITORY_NAME/nginx] NGINX image repository
80## @skip image.tag NGINX image tag (immutable tags are recommended)
81## @param image.digest NGINX image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
82## @param image.pullPolicy NGINX image pull policy
83## @param image.pullSecrets Specify docker-registry secret names as an array
84## @param image.debug Set to true if you would like to see extra information on logs
85##
86image:
87 registry: docker.io
88 repository: bitnami/nginx
89 tag: 1.29.0-debian-12-r5
90 digest: ""
91 ## Specify a imagePullPolicy
92 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
93 ##
94 pullPolicy: IfNotPresent
95 ## Optionally specify an array of imagePullSecrets.
96 ## Secrets must be manually created in the namespace.
97 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
98 ## E.g.:
99 ## pullSecrets:
100 ## - myRegistryKeySecretName
101 ##
102 pullSecrets: []
103 ## Set to true if you would like to see extra information on logs
104 ##
105 debug: false
106## @param enableDefaultInitContainers If set to false, disable all init containers except user-defined at `initContainer`.
107##
108enableDefaultInitContainers: true
109## @param automountServiceAccountToken Mount Service Account token in pod
110##
111automountServiceAccountToken: false
112## @param hostAliases Deployment pod host aliases
113## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
114##
115hostAliases: []
116## Command and args for running the container (set to default if not set). Use array form
117## @param command Override default container command (useful when using custom images)
118## @param args Override default container args (useful when using custom images)
119##
120command: []
121args: []
122## @param extraEnvVars Extra environment variables to be set on NGINX containers
123## E.g:
124## extraEnvVars:
125## - name: FOO
126## value: BAR
127##
128extraEnvVars: []
129## @param extraEnvVarsCM ConfigMap with extra environment variables
130##
131extraEnvVarsCM: ""
132## @param extraEnvVarsSecret Secret with extra environment variables
133##
134extraEnvVarsSecret: ""
135## @section NGINX deployment parameters
136
137## @param replicaCount Number of NGINX replicas to deploy
138##
139replicaCount: 1
140## @param revisionHistoryLimit The number of old history to retain to allow rollback
141##
142revisionHistoryLimit: 10
143## @param updateStrategy.type NGINX deployment strategy type
144## @param updateStrategy.rollingUpdate NGINX deployment rolling update configuration parameters
145## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
146##
147updateStrategy:
148 type: RollingUpdate
149 rollingUpdate: {}
150## @param podLabels Additional labels for NGINX pods
151## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
152##
153podLabels: {}
154## @param podAnnotations Annotations for NGINX pods
155## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
156##
157podAnnotations: {}
158## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
159## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
160##
161podAffinityPreset: ""
162## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
163## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
164##
165podAntiAffinityPreset: soft
166## Node affinity preset
167## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
168##
169nodeAffinityPreset:
170 ## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
171 ##
172 type: ""
173 ## @param nodeAffinityPreset.key Node label key to match Ignored if `affinity` is set.
174 ## E.g.
175 ## key: "kubernetes.io/e2e-az-name"
176 ##
177 key: ""
178 ## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set.
179 ## E.g.
180 ## values:
181 ## - e2e-az1
182 ## - e2e-az2
183 ##
184 values: []
185## @param affinity Affinity for pod assignment
186## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
187## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
188##
189affinity: {}
190## @param hostNetwork Specify if host network should be enabled for NGINX pod
191##
192hostNetwork: false
193## @param hostIPC Specify if host IPC should be enabled for NGINX pod
194##
195hostIPC: false
196## DNS-Pod services
197## Ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
198## @param dnsPolicy Specifies the DNS policy for the NGINX pod
199## DNS policies can be set on a per-Pod basis. Currently Kubernetes supports the following Pod-specific DNS policies.
200## Available options: Default, ClusterFirst, ClusterFirstWithHostNet, None
201## Ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy
202dnsPolicy: ""
203## @param dnsConfig Allows users more control on the DNS settings for a Pod. Required if `dnsPolicy` is set to `None`
204## The dnsConfig field is optional and it can work with any dnsPolicy settings.
205## Ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
206## E.g.
207## dnsConfig:
208## nameservers:
209## - 192.0.2.1 # this is an example
210## searches:
211## - ns1.svc.cluster-domain.example
212## - my.dns.search.suffix
213## options:
214## - name: ndots
215## value: "2"
216## - name: edns0
217dnsConfig: {}
218## @param nodeSelector Node labels for pod assignment. Evaluated as a template.
219## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
220##
221nodeSelector: {}
222## @param tolerations Tolerations for pod assignment. Evaluated as a template.
223## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
224##
225tolerations: []
226## @param priorityClassName NGINX pods' priorityClassName
227##
228priorityClassName: ""
229## @param schedulerName Name of the k8s scheduler (other than default)
230## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
231##
232schedulerName: ""
233## @param terminationGracePeriodSeconds In seconds, time the given to the NGINX pod needs to terminate gracefully
234## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
235##
236terminationGracePeriodSeconds: ""
237## @param topologySpreadConstraints Topology Spread Constraints for pod assignment
238## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
239## The value is evaluated as a template
240##
241topologySpreadConstraints: []
242## TLS settings
243##
244tls:
245 ## @param tls.enabled Enable TLS transport
246 ##
247 enabled: true
248 ## @param tls.autoGenerated Auto-generate self-signed certificates
249 ##
250 autoGenerated: true
251 ## @param tls.existingSecret Name of a secret containing the certificates
252 ##
253 existingSecret: ""
254 ## @param tls.certFilename Path of the certificate file when mounted as a secret
255 ##
256 certFilename: tls.crt
257 ## @param tls.certKeyFilename Path of the certificate key file when mounted as a secret
258 ##
259 certKeyFilename: tls.key
260 ## @param tls.certCAFilename Path of the certificate CA file when mounted as a secret
261 ##
262 certCAFilename: ca.crt
263 ## @param tls.cert Content of the certificate to be added to the secret
264 ##
265 cert: ""
266 ## @param tls.key Content of the certificate key to be added to the secret
267 ##
268 key: ""
269 ## @param tls.ca Content of the certificate CA to be added to the secret
270 ##
271 ca: ""
272## NGINX pods' Security Context.
273## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
274## @param podSecurityContext.enabled Enabled NGINX pods' Security Context
275## @param podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
276## @param podSecurityContext.supplementalGroups Set filesystem extra groups
277## @param podSecurityContext.fsGroup Set NGINX pod's Security Context fsGroup
278## @param podSecurityContext.sysctls sysctl settings of the NGINX pods
279##
280podSecurityContext:
281 enabled: true
282 fsGroupChangePolicy: Always
283 supplementalGroups: []
284 fsGroup: 1001
285 ## sysctl settings
286 ## Example:
287 ## sysctls:
288 ## - name: net.core.somaxconn
289 ## value: "10000"
290 ##
291 sysctls: []
292## NGINX containers' Security Context.
293## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
294## @param containerSecurityContext.enabled Enabled containers' Security Context
295## @param containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
296## @param containerSecurityContext.runAsUser Set containers' Security Context runAsUser
297## @param containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
298## @param containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
299## @param containerSecurityContext.privileged Set container's Security Context privileged
300## @param containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
301## @param containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
302## @param containerSecurityContext.capabilities.drop List of capabilities to be dropped
303## @param containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
304##
305containerSecurityContext:
306 enabled: true
307 seLinuxOptions: {}
308 runAsUser: 1001
309 runAsGroup: 1001
310 runAsNonRoot: true
311 privileged: false
312 readOnlyRootFilesystem: true
313 allowPrivilegeEscalation: false
314 capabilities:
315 drop: ["ALL"]
316 seccompProfile:
317 type: "RuntimeDefault"
318## Configures the ports NGINX listens on
319## @param containerPorts.http Sets http port inside NGINX container
320## @param containerPorts.https Sets https port inside NGINX container
321##
322containerPorts:
323 http: 8080
324 https: 8443
325## @param extraContainerPorts Array of additional container ports for the Nginx container
326## e.g:
327## extraContainerPorts:
328## - name: grpc
329## containerPort: 4317
330##
331extraContainerPorts: []
332## NGINX containers' resource requests and limits
333## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
334## We usually recommend not to specify default resources and to leave this as a conscious
335## choice for the user. This also increases chances charts run on environments with little
336## resources, such as Minikube. If you do want to specify resources, uncomment the following
337## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
338## @param resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
339## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
340##
341resourcesPreset: "nano"
342## @param resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
343## Example:
344## resources:
345## requests:
346## cpu: 2
347## memory: 512Mi
348## limits:
349## cpu: 3
350## memory: 1024Mi
351##
352resources: {}
353## NGINX containers' lifecycleHooks
354## ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
355## ref: https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/
356## If you do want to specify lifecycleHooks, uncomment the following
357## lines, adjust them as necessary, and remove the curly braces on 'lifecycle:{}'.
358## @param lifecycleHooks Optional lifecycleHooks for the NGINX container
359lifecycleHooks: {}
360## Example:
361## postStart:
362## exec:
363## command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
364## Example:
365## preStop:
366## exec:
367## command: ["/bin/sleep", "20"]
368## command: ["/bin/sh","-c","nginx -s quit; while killall -0 nginx; do sleep 1; done"]
369
370## NGINX containers' startup probe.
371## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
372## @param startupProbe.enabled Enable startupProbe
373## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
374## @param startupProbe.periodSeconds Period seconds for startupProbe
375## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe
376## @param startupProbe.failureThreshold Failure threshold for startupProbe
377## @param startupProbe.successThreshold Success threshold for startupProbe
378##
379startupProbe:
380 enabled: false
381 initialDelaySeconds: 30
382 timeoutSeconds: 5
383 periodSeconds: 10
384 failureThreshold: 6
385 successThreshold: 1
386## NGINX containers' liveness probe.
387## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
388## @param livenessProbe.enabled Enable livenessProbe
389## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
390## @param livenessProbe.periodSeconds Period seconds for livenessProbe
391## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
392## @param livenessProbe.failureThreshold Failure threshold for livenessProbe
393## @param livenessProbe.successThreshold Success threshold for livenessProbe
394##
395livenessProbe:
396 enabled: true
397 initialDelaySeconds: 30
398 timeoutSeconds: 5
399 periodSeconds: 10
400 failureThreshold: 6
401 successThreshold: 1
402## NGINX containers' readiness probe.
403## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
404## @param readinessProbe.enabled Enable readinessProbe
405## @param readinessProbe.path Request path for livenessProbe
406## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
407## @param readinessProbe.periodSeconds Period seconds for readinessProbe
408## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
409## @param readinessProbe.failureThreshold Failure threshold for readinessProbe
410## @param readinessProbe.successThreshold Success threshold for readinessProbe
411##
412readinessProbe:
413 enabled: true
414 path: /
415 initialDelaySeconds: 5
416 timeoutSeconds: 3
417 periodSeconds: 5
418 failureThreshold: 3
419 successThreshold: 1
420## @param customStartupProbe Custom liveness probe for the Web component
421##
422customStartupProbe: {}
423## @param customLivenessProbe Override default liveness probe
424##
425customLivenessProbe: {}
426## @param customReadinessProbe Override default readiness probe
427##
428customReadinessProbe: {}
429## Autoscaling parameters
430## @param autoscaling.enabled Enable autoscaling for NGINX deployment
431## @param autoscaling.minReplicas Minimum number of replicas to scale back
432## @param autoscaling.maxReplicas Maximum number of replicas to scale out
433## @param autoscaling.targetCPU Target CPU utilization percentage
434## @param autoscaling.targetMemory Target Memory utilization percentage
435##
436autoscaling:
437 enabled: false
438 minReplicas: ""
439 maxReplicas: ""
440 targetCPU: ""
441 targetMemory: ""
442## @param extraVolumes Array to add extra volumes
443##
444extraVolumes: []
445## @param extraVolumeMounts Array to add extra mount
446##
447extraVolumeMounts: []
448## Pods Service Account
449## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
450##
451serviceAccount:
452 ## @param serviceAccount.create Enable creation of ServiceAccount for nginx pod
453 ##
454 create: true
455 ## @param serviceAccount.name The name of the ServiceAccount to use.
456 ## If not set and create is true, a name is generated using the `common.names.fullname` template
457 name: ""
458 ## @param serviceAccount.annotations Annotations for service account. Evaluated as a template.
459 ## Only used if `create` is `true`.
460 ##
461 annotations: {}
462 ## @param serviceAccount.automountServiceAccountToken Auto-mount the service account token in the pod
463 ##
464 automountServiceAccountToken: false
465## @param sidecars Sidecar parameters
466## e.g:
467## sidecars:
468## - name: your-image-name
469## image: your-image
470## imagePullPolicy: Always
471## ports:
472## - name: portname
473## containerPort: 1234
474##
475sidecars: []
476## @param sidecarSingleProcessNamespace Enable sharing the process namespace with sidecars
477## This will switch pod.spec.shareProcessNamespace parameter
478##
479sidecarSingleProcessNamespace: false
480## @param initContainers Extra init containers
481##
482initContainers: []
483## Pod Disruption Budget configuration
484## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
485##
486pdb:
487 ## @param pdb.create Created a PodDisruptionBudget
488 ##
489 create: true
490 ## @param pdb.minAvailable Min number of pods that must still be available after the eviction.
491 ## You can specify an integer or a percentage by setting the value to a string representation of a percentage (eg. "50%"). It will be disabled if set to 0
492 ##
493 minAvailable: ""
494 ## @param pdb.maxUnavailable Max number of pods that can be unavailable after the eviction.
495 ## You can specify an integer or a percentage by setting the value to a string representation of a percentage (eg. "50%"). It will be disabled if set to 0. Defaults to `1` if both `pdb.minAvailable` and `pdb.maxUnavailable` are empty.
496 ##
497 maxUnavailable: ""
498## @section Custom NGINX application parameters
499
500## Get the server static content from a git repository
501## NOTE: This will override staticSiteConfigmap and staticSitePVC
502##
503cloneStaticSiteFromGit:
504 ## @param cloneStaticSiteFromGit.enabled Get the server static content from a Git repository
505 ##
506 enabled: false
507 ## Bitnami Git image version
508 ## ref: https://hub.docker.com/r/bitnami/git/tags/
509 ## @param cloneStaticSiteFromGit.image.registry [default: REGISTRY_NAME] Git image registry
510 ## @param cloneStaticSiteFromGit.image.repository [default: REPOSITORY_NAME/git] Git image repository
511 ## @skip cloneStaticSiteFromGit.image.tag Git image tag (immutable tags are recommended)
512 ## @param cloneStaticSiteFromGit.image.digest Git image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
513 ## @param cloneStaticSiteFromGit.image.pullPolicy Git image pull policy
514 ## @param cloneStaticSiteFromGit.image.pullSecrets Specify docker-registry secret names as an array
515 ##
516 image:
517 registry: docker.io
518 repository: bitnami/git
519 tag: 2.50.1-debian-12-r1
520 digest: ""
521 ## Specify a imagePullPolicy
522 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
523 ##
524 pullPolicy: IfNotPresent
525 ## Optionally specify an array of imagePullSecrets.
526 ## Secrets must be manually created in the namespace.
527 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
528 ## e.g:
529 ## pullSecrets:
530 ## - myRegistryKeySecretName
531 ##
532 pullSecrets: []
533 ## @param cloneStaticSiteFromGit.repository Git Repository to clone static content from
534 ##
535 repository: ""
536 ## @param cloneStaticSiteFromGit.branch Git branch to checkout
537 ##
538 branch: ""
539 ## @param cloneStaticSiteFromGit.interval Interval for sidecar container pull from the Git repository
540 ##
541 interval: 60
542 ## Additional configuration for git-clone-repository initContainer
543 ##
544 gitClone:
545 ## @param cloneStaticSiteFromGit.gitClone.command Override default container command for git-clone-repository
546 ##
547 command: []
548 ## @param cloneStaticSiteFromGit.gitClone.args Override default container args for git-clone-repository
549 ##
550 args: []
551 ## Additional configuration for the git-repo-syncer container
552 ##
553 gitSync:
554 ## @param cloneStaticSiteFromGit.gitSync.command Override default container command for git-repo-syncer
555 ##
556 command: []
557 ## @param cloneStaticSiteFromGit.gitSync.args Override default container args for git-repo-syncer
558 ##
559 args: []
560 ## git-repo-syncer resource requests and limits
561 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
562 ## @param cloneStaticSiteFromGit.gitSync.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if cloneStaticSiteFromGit.gitSync.resources is set (cloneStaticSiteFromGit.gitSync.resources is recommended for production).
563 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
564 ##
565 resourcesPreset: "nano"
566 ## @param cloneStaticSiteFromGit.gitSync.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
567 ## Example:
568 ## resources:
569 ## requests:
570 ## cpu: 2
571 ## memory: 512Mi
572 ## limits:
573 ## cpu: 3
574 ## memory: 1024Mi
575 ##
576 resources: {}
577 ## @param cloneStaticSiteFromGit.extraEnvVars Additional environment variables to set for the in the containers that clone static site from git
578 ## E.g:
579 ## extraEnvVars:
580 ## - name: FOO
581 ## value: BAR
582 ##
583 extraEnvVars: []
584 ## @param cloneStaticSiteFromGit.extraEnvVarsSecret Secret with extra environment variables
585 ##
586 extraEnvVarsSecret: ""
587 ## @param cloneStaticSiteFromGit.extraVolumeMounts Add extra volume mounts for the Git containers
588 ## Useful to mount keys to connect through ssh. (normally used with extraVolumes)
589 ## E.g:
590 ## extraVolumeMounts:
591 ## - name: ssh-dir
592 ## mountPath: /root/.ssh/
593 ##
594 extraVolumeMounts: []
595## @param serverBlock Custom server block to be added to NGINX configuration
596## PHP-FPM example server block:
597## serverBlock: |-
598## server {
599## listen 0.0.0.0:8080;
600## root /app;
601## location / {
602## index index.html index.php;
603## }
604## location ~ \.php$ {
605## fastcgi_pass phpfpm-server:9000;
606## fastcgi_index index.php;
607## include fastcgi.conf;
608## }
609## }
610##
611serverBlock: ""
612## @param streamServerBlock Custom stream server block to be added to NGINX configuration
613## streamServerBlock: |-
614## server {
615## listen 0.0.0.0:8080 udp;
616## proxy_pass localhost:9000;
617## }
618##
619streamServerBlock: ""
620## @param existingServerBlockConfigmap ConfigMap with custom server block to be added to NGINX configuration
621## NOTE: This will override serverBlock
622##
623existingServerBlockConfigmap: ""
624## @param existingStreamServerBlockConfigmap ConfigMap with custom stream server block to be added to NGINX configuration
625## NOTE: This will override streamServerBlock
626##
627existingStreamServerBlockConfigmap: ""
628## @param staticSiteConfigmap Name of existing ConfigMap with the server static site content
629##
630staticSiteConfigmap: ""
631## @param staticSitePVC Name of existing PVC with the server static site content
632## NOTE: This will override staticSiteConfigmap
633##
634staticSitePVC: ""
635## @section Traffic Exposure parameters
636
637## NGINX Service properties
638##
639service:
640 ## @param service.type Service type
641 ##
642 type: LoadBalancer
643 ## @param service.ports.http Service HTTP port
644 ## @param service.ports.https Service HTTPS port
645 ##
646 ports:
647 http: 80
648 https: 443
649 ##
650 ## @param service.nodePorts [object] Specify the nodePort(s) value(s) for the LoadBalancer and NodePort service types.
651 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
652 ##
653 nodePorts:
654 http: ""
655 https: ""
656 ## @param service.targetPort [object] Target port reference value for the Loadbalancer service types can be specified explicitly.
657 ## Listeners for the Loadbalancer can be custom mapped to the http or https service.
658 ## Example: Mapping the https listener to targetPort http [http: https]
659 ##
660 targetPort:
661 http: http
662 https: https
663 ## @param service.clusterIP NGINX service Cluster IP
664 ## e.g.:
665 ## clusterIP: None
666 ##
667 clusterIP: ""
668 ## @param service.loadBalancerIP LoadBalancer service IP address
669 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
670 ##
671 loadBalancerIP: ""
672 ## @param service.loadBalancerSourceRanges NGINX service Load Balancer sources
673 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
674 ## e.g:
675 ## loadBalancerSourceRanges:
676 ## - 10.10.10.0/24
677 ##
678 loadBalancerSourceRanges: []
679 ## @param service.loadBalancerClass service Load Balancer class if service type is `LoadBalancer` (optional, cloud specific)
680 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
681 ##
682 loadBalancerClass: ""
683 ## @param service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
684 ##
685 extraPorts: []
686 ## @param service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
687 ## If "ClientIP", consecutive client requests will be directed to the same Pod
688 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
689 ##
690 sessionAffinity: None
691 ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
692 ## sessionAffinityConfig:
693 ## clientIP:
694 ## timeoutSeconds: 300
695 ##
696 sessionAffinityConfig: {}
697 ## @param service.annotations Service annotations
698 ## This can be used to set the LoadBalancer service type to internal only.
699 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
700 ##
701 annotations: {}
702 ## @param service.externalTrafficPolicy Enable client source IP preservation
703 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
704 ##
705 externalTrafficPolicy: Cluster
706## Network Policies
707## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
708##
709networkPolicy:
710 ## @param networkPolicy.enabled Specifies whether a NetworkPolicy should be created
711 ##
712 enabled: true
713 ## @param networkPolicy.allowExternal Don't require server label for connections
714 ## The Policy model to apply. When set to false, only pods with the correct
715 ## server label will have network access to the ports server is listening
716 ## on. When true, server will accept connections from any source
717 ## (with the correct destination port).
718 ##
719 allowExternal: true
720 ## @param networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
721 ##
722 allowExternalEgress: true
723 ## @param networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
724 ## e.g:
725 ## extraIngress:
726 ## - ports:
727 ## - port: 1234
728 ## from:
729 ## - podSelector:
730 ## - matchLabels:
731 ## - role: frontend
732 ## - podSelector:
733 ## - matchExpressions:
734 ## - key: role
735 ## operator: In
736 ## values:
737 ## - frontend
738 extraIngress: []
739 ## @param networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)
740 ## e.g:
741 ## extraEgress:
742 ## - ports:
743 ## - port: 1234
744 ## to:
745 ## - podSelector:
746 ## - matchLabels:
747 ## - role: frontend
748 ## - podSelector:
749 ## - matchExpressions:
750 ## - key: role
751 ## operator: In
752 ## values:
753 ## - frontend
754 ##
755 extraEgress: []
756 ## @param networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
757 ## @param networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
758 ##
759 ingressNSMatchLabels: {}
760 ingressNSPodMatchLabels: {}
761## Configure the ingress resource that allows you to access the
762## Nginx installation. Set up the URL
763## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
764##
765ingress:
766 ## @param ingress.enabled Set to true to enable ingress record generation
767 ##
768 enabled: false
769 ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
770 ##
771 selfSigned: false
772 ## @param ingress.pathType Ingress path type
773 ##
774 pathType: ImplementationSpecific
775 ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
776 ##
777 apiVersion: ""
778 ## @param ingress.hostname Default host for the ingress resource
779 ##
780 hostname: nginx.local
781 ## @param ingress.path The Path to Nginx. You may need to set this to '/*' in order to use this with ALB ingress controllers.
782 ##
783 path: /
784 ## @param ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
785 ## For a full list of possible ingress annotations, please see
786 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
787 ## Use this parameter to set the required annotations for cert-manager, see
788 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
789 ##
790 ## e.g:
791 ## annotations:
792 ## kubernetes.io/ingress.class: nginx
793 ## cert-manager.io/cluster-issuer: cluster-issuer-name
794 ##
795 annotations: {}
796 ## @param ingress.ingressClassName Set the ingerssClassName on the ingress record for k8s 1.18+
797 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
798 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
799 ##
800 ingressClassName: ""
801 ## @param ingress.tls Create TLS Secret
802 ## TLS certificates will be retrieved from a TLS secret with name: {{- printf "%s-tls" .Values.ingress.hostname }}
803 ## You can use the ingress.secrets parameter to create this TLS secret or relay on cert-manager to create it
804 ##
805 tls: false
806 ## @param ingress.tlsWwwPrefix Adds www subdomain to default cert
807 ## Creates tls host with ingress.hostname: {{ print "www.%s" .Values.ingress.hostname }}
808 ## Is enabled if "nginx.ingress.kubernetes.io/from-to-www-redirect" is "true"
809 tlsWwwPrefix: false
810 ## @param ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
811 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
812 ## extraHosts:
813 ## - name: nginx.local
814 ## path: /
815 ##
816 extraHosts: []
817 ## @param ingress.extraPaths Any additional arbitrary paths that may need to be added to the ingress under the main host.
818 ## For example: The ALB ingress controller requires a special rule for handling SSL redirection.
819 ## extraPaths:
820 ## - path: /*
821 ## backend:
822 ## serviceName: ssl-redirect
823 ## servicePort: use-annotation
824 ##
825 extraPaths: []
826 ## @param ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
827 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
828 ## extraTls:
829 ## - hosts:
830 ## - nginx.local
831 ## secretName: nginx.local-tls
832 ##
833 extraTls: []
834 ## @param ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
835 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
836 ## -----BEGIN RSA PRIVATE KEY-----
837 ##
838 ## name should line up with a tlsSecret set further up
839 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
840 ##
841 ## It is also possible to create and manage the certificates outside of this helm chart
842 ## Please see README.md for more information
843 ## e.g:
844 ## - name: nginx.local-tls
845 ## key:
846 ## certificate:
847 ##
848 secrets: []
849 ## @param ingress.extraRules The list of additional rules to be added to this ingress record. Evaluated as a template
850 ## Useful when looking for additional customization, such as using different backend
851 ##
852 extraRules: []
853## Health Ingress parameters
854##
855healthIngress:
856 ## @param healthIngress.enabled Set to true to enable health ingress record generation
857 ##
858 enabled: false
859 ## @param healthIngress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
860 ##
861 selfSigned: false
862 ## @param healthIngress.pathType Ingress path type
863 ##
864 pathType: ImplementationSpecific
865 ## @param healthIngress.hostname When the health ingress is enabled, a host pointing to this will be created
866 ##
867 hostname: example.local
868 ## @param healthIngress.path Default path for the ingress record
869 ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
870 ##
871 path: /
872 ## @param healthIngress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
873 ## For a full list of possible ingress annotations, please see
874 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
875 ## Use this parameter to set the required annotations for cert-manager, see
876 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
877 ##
878 ## e.g:
879 ## annotations:
880 ## kubernetes.io/ingress.class: nginx
881 ## cert-manager.io/cluster-issuer: cluster-issuer-name
882 ##
883 annotations: {}
884 ## @param healthIngress.tls Enable TLS configuration for the hostname defined at `healthIngress.hostname` parameter
885 ## TLS certificates will be retrieved from a TLS secret with name: {{- printf "%s-tls" .Values.healthIngress.hostname }}
886 ## You can use the healthIngress.secrets parameter to create this TLS secret, relay on cert-manager to create it, or
887 ## let the chart create self-signed certificates for you
888 ##
889 tls: false
890 ## @param healthIngress.extraHosts An array with additional hostname(s) to be covered with the ingress record
891 ## e.g:
892 ## extraHosts:
893 ## - name: example.local
894 ## path: /
895 ##
896 extraHosts: []
897 ## @param healthIngress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
898 ## e.g:
899 ## extraPaths:
900 ## - path: /*
901 ## backend:
902 ## serviceName: ssl-redirect
903 ## servicePort: use-annotation
904 ##
905 extraPaths: []
906 ## @param healthIngress.extraTls TLS configuration for additional hostnames to be covered
907 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
908 ## E.g.
909 ## extraTls:
910 ## - hosts:
911 ## - example.local
912 ## secretName: example.local-tls
913 ##
914 extraTls: []
915 ## @param healthIngress.secrets TLS Secret configuration
916 ## If you're providing your own certificates, please use this to add the certificates as secrets
917 ## key and certificate should start with -----BEGIN CERTIFICATE----- or -----BEGIN RSA PRIVATE KEY-----
918 ## name should line up with a secretName set further up
919 ## If it is not set and you're using cert-manager, this is unneeded, as it will create the secret for you
920 ## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created
921 ## It is also possible to create and manage the certificates outside of this helm chart
922 ## Please see README.md for more information
923 ##
924 ## E.g.
925 ## secrets:
926 ## - name: example.local-tls
927 ## key:
928 ## certificate:
929 ##
930 secrets: []
931 ## @param healthIngress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
932 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
933 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
934 ##
935 ingressClassName: ""
936 ## @param healthIngress.extraRules The list of additional rules to be added to this ingress record. Evaluated as a template
937 ## Useful when looking for additional customization, such as using different backend
938 ##
939 extraRules: []
940## @section Metrics parameters
941
942## Prometheus Exporter / Metrics
943##
944metrics:
945 ## @param metrics.enabled Start a Prometheus exporter sidecar container
946 ##
947 enabled: false
948 ## Bitnami NGINX Prometheus Exporter image
949 ## ref: https://hub.docker.com/r/bitnami/nginx-exporter/tags/
950 ## @param metrics.image.registry [default: REGISTRY_NAME] NGINX Prometheus exporter image registry
951 ## @param metrics.image.repository [default: REPOSITORY_NAME/nginx-exporter] NGINX Prometheus exporter image repository
952 ## @skip metrics.image.tag NGINX Prometheus exporter image tag (immutable tags are recommended)
953 ## @param metrics.image.digest NGINX Prometheus exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
954 ## @param metrics.image.pullPolicy NGINX Prometheus exporter image pull policy
955 ## @param metrics.image.pullSecrets Specify docker-registry secret names as an array
956 ##
957 image:
958 registry: docker.io
959 repository: bitnami/nginx-exporter
960 tag: 1.4.2-debian-12-r7
961 digest: ""
962 pullPolicy: IfNotPresent
963 ## Optionally specify an array of imagePullSecrets.
964 ## Secrets must be manually created in the namespace.
965 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
966 ## e.g:
967 ## pullSecrets:
968 ## - myRegistryKeySecretName
969 ##
970 pullSecrets: []
971 ## @param metrics.port NGINX Container Status Port scraped by Prometheus Exporter
972 ## Defaults to specified http port
973 ##
974 port: ""
975 ## @param metrics.extraArgs Extra arguments for Prometheus exporter
976 ## e.g:
977 ## extraArgs:
978 ## - --nginx.timeout
979 ## - 5s
980 ##
981 extraArgs: []
982 ## @param metrics.containerPorts.metrics Prometheus exporter container port
983 ##
984 containerPorts:
985 metrics: 9113
986 ## @param metrics.podAnnotations Additional annotations for NGINX Prometheus exporter pod(s)
987 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
988 ##
989 podAnnotations: {}
990 ## Container Security Context
991 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
992 ## @param metrics.securityContext.enabled Enabled NGINX Exporter containers' Security Context
993 ## @param metrics.securityContext.seLinuxOptions [object,nullable] Set SELinux options in container
994 ## @param metrics.securityContext.runAsUser Set NGINX Exporter container's Security Context runAsUser
995 ##
996 securityContext:
997 enabled: false
998 seLinuxOptions: {}
999 runAsUser: 1001
1000 ## Prometheus exporter service parameters
1001 ##
1002 service:
1003 ## @param metrics.service.port NGINX Prometheus exporter service port
1004 ##
1005 port: 9113
1006 ## @param metrics.service.annotations [object] Annotations for the Prometheus exporter service
1007 ##
1008 annotations:
1009 prometheus.io/scrape: "true"
1010 prometheus.io/port: "{{ .Values.metrics.service.port }}"
1011 ## NGINX Prometheus exporter resource requests and limits
1012 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1013 ## We usually recommend not to specify default resources and to leave this as a conscious
1014 ## choice for the user. This also increases chances charts run on environments with little
1015 ## resources, such as Minikube. If you do want to specify resources, uncomment the following
1016 ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
1017 ## @param metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production).
1018 ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
1019 ##
1020 resourcesPreset: "nano"
1021 ## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1022 ## Example:
1023 ## resources:
1024 ## requests:
1025 ## cpu: 2
1026 ## memory: 512Mi
1027 ## limits:
1028 ## cpu: 3
1029 ## memory: 1024Mi
1030 ##
1031 resources: {}
1032 ## Prometheus Operator ServiceMonitor configuration
1033 ##
1034 serviceMonitor:
1035 ## @param metrics.serviceMonitor.enabled Creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`)
1036 ##
1037 enabled: false
1038 ## @param metrics.serviceMonitor.namespace Namespace in which Prometheus is running
1039 ##
1040 namespace: ""
1041 ## @param metrics.serviceMonitor.tlsConfig [object] TLS configuration used for scrape endpoints used by Prometheus
1042 ##
1043 tlsConfig: {}
1044 ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
1045 ##
1046 jobLabel: ""
1047 ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped.
1048 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
1049 ## e.g:
1050 ## interval: 10s
1051 ##
1052 interval: ""
1053 ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
1054 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
1055 ## e.g:
1056 ## scrapeTimeout: 10s
1057 ##
1058 scrapeTimeout: ""
1059 ## @param metrics.serviceMonitor.selector Prometheus instance selector labels
1060 ## ref: https://github.com/bitnami/charts/tree/main/bitnami/prometheus-operator#prometheus-configuration
1061 ##
1062 ## selector:
1063 ## prometheus: my-prometheus
1064 ##
1065 selector: {}
1066 ## @param metrics.serviceMonitor.labels Additional labels that can be used so PodMonitor will be discovered by Prometheus
1067 ##
1068 labels: {}
1069 ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
1070 ##
1071 relabelings: []
1072 ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
1073 ##
1074 metricRelabelings: []
1075 ## @param metrics.serviceMonitor.honorLabels honorLabels chooses the metric's labels on collisions with target labels
1076 ##
1077 honorLabels: false
1078 ## Prometheus Operator PrometheusRule configuration
1079 ##
1080 prometheusRule:
1081 ## @param metrics.prometheusRule.enabled if `true`, creates a Prometheus Operator PrometheusRule (also requires `metrics.enabled` to be `true` and `metrics.prometheusRule.rules`)
1082 ##
1083 enabled: false
1084 ## @param metrics.prometheusRule.namespace Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
1085 ##
1086 namespace: ""
1087 ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so PrometheusRule will be discovered by Prometheus
1088 ##
1089 additionalLabels: {}
1090 ## @param metrics.prometheusRule.rules Prometheus Rule definitions
1091 ## - alert: LowInstance
1092 ## expr: up{service="{{ template "common.names.fullname" . }}"} < 1
1093 ## for: 1m
1094 ## labels:
1095 ## severity: critical
1096 ## annotations:
1097 ## description: Service {{ template "common.names.fullname" . }} Tomcat is down since 1m.
1098 ## summary: Tomcat instance is down.
1099 ##
1100 rules: []