blob: 602b7f5632c338532e02f0b54c457747db83bf7f [file] [log] [blame]
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +04001## nginx configuration
2## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/index.md
3##
4
5## Overrides for generated resource names
6# See templates/_helpers.tpl
7# nameOverride:
8# fullnameOverride:
9
10controller:
11 name: controller
12 image:
13 registry: k8s.gcr.io
14 image: ingress-nginx/controller
15 # for backwards compatibility consider setting the full image url via the repository value below
16 # use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
17 # repository:
18 tag: "v1.0.2"
19 digest: sha256:85b53b493d6d658d8c013449223b0ffd739c76d76dc9bf9000786669ec04e049
20 pullPolicy: IfNotPresent
21 # www-data -> uid 101
22 runAsUser: 101
23 allowPrivilegeEscalation: true
24
25 # Use an existing PSP instead of creating one
26 existingPsp: ""
27
28 # Configures the controller container name
29 containerName: controller
30
31 # Configures the ports the nginx-controller listens on
32 containerPort:
33 http: 80
34 https: 443
35
36 # Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/
37 config: {}
38
39 ## Annotations to be added to the controller config configuration configmap
40 ##
41 configAnnotations: {}
42
43 # Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers
44 proxySetHeaders: {}
45
46 # Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers
47 addHeaders: {}
48
49 # Optionally customize the pod dnsConfig.
50 dnsConfig: {}
51
52 # Optionally customize the pod hostname.
53 hostname: {}
54
55 # Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'.
56 # By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller
57 # to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.
58 dnsPolicy: ClusterFirst
59
60 # Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network
61 # Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply
62 reportNodeInternalIp: false
63
64 # Process Ingress objects without ingressClass annotation/ingressClassName field
65 # Overrides value for --watch-ingress-without-class flag of the controller binary
66 # Defaults to false
67 watchIngressWithoutClass: false
68
69 # Process IngressClass per name (additionally as per spec.controller)
70 ingressClassByName: false
71
72 # This configuration defines if Ingress Controller should allow users to set
73 # their own *-snippet annotations, otherwise this is forbidden / dropped
74 # when users add those annotations.
75 # Global snippets in ConfigMap are still respected
76 allowSnippetAnnotations: true
77
78 # Required for use with CNI based kubernetes installations (such as ones set up by kubeadm),
79 # since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920
80 # is merged
81 hostNetwork: false
82
83 ## Use host ports 80 and 443
84 ## Disabled by default
85 ##
86 hostPort:
87 enabled: false
88 ports:
89 http: 80
90 https: 443
91
92 ## Election ID to use for status update
93 ##
94 electionID: ingress-controller-leader
95
96 # This section refers to the creation of the IngressClass resource
97 # IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19
98 ingressClassResource:
99 name: nginx
100 enabled: true
101 default: false
102 controllerValue: "k8s.io/ingress-nginx"
103
104 # Parameters is a link to a custom resource containing additional
105 # configuration for the controller. This is optional if the controller
106 # does not require extra parameters.
107 parameters: {}
108
109 # labels to add to the pod container metadata
110 podLabels: {}
111 # key: value
112
113 ## Security Context policies for controller pods
114 ##
115 podSecurityContext: {}
116
117 ## See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for
118 ## notes on enabling and using sysctls
119 ###
120 sysctls: {}
121 # sysctls:
122 # "net.core.somaxconn": "8192"
123
124 ## Allows customization of the source of the IP address or FQDN to report
125 ## in the ingress status field. By default, it reads the information provided
126 ## by the service. If disable, the status field reports the IP address of the
127 ## node or nodes where an ingress controller pod is running.
128 publishService:
129 enabled: true
130 ## Allows overriding of the publish service to bind to
131 ## Must be <namespace>/<service_name>
132 ##
133 pathOverride: ""
134
135 ## Limit the scope of the controller
136 ##
137 scope:
138 enabled: false
139 namespace: "" # defaults to $(POD_NAMESPACE)
140
141 ## Allows customization of the configmap / nginx-configmap namespace
142 ##
143 configMapNamespace: "" # defaults to $(POD_NAMESPACE)
144
145 ## Allows customization of the tcp-services-configmap
146 ##
147 tcp:
148 configMapNamespace: "" # defaults to $(POD_NAMESPACE)
149 ## Annotations to be added to the tcp config configmap
150 annotations: {}
151
152 ## Allows customization of the udp-services-configmap
153 ##
154 udp:
155 configMapNamespace: "" # defaults to $(POD_NAMESPACE)
156 ## Annotations to be added to the udp config configmap
157 annotations: {}
158
159 # Maxmind license key to download GeoLite2 Databases
160 # https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases
161 maxmindLicenseKey: ""
162
163 ## Additional command line arguments to pass to nginx-ingress-controller
164 ## E.g. to specify the default SSL certificate you can use
165 ## extraArgs:
166 ## default-ssl-certificate: "<namespace>/<secret_name>"
167 extraArgs: {}
168
169 ## Additional environment variables to set
170 extraEnvs: []
171 # extraEnvs:
172 # - name: FOO
173 # valueFrom:
174 # secretKeyRef:
175 # key: FOO
176 # name: secret-resource
177
178 ## DaemonSet or Deployment
179 ##
180 kind: Deployment
181
182 ## Annotations to be added to the controller Deployment or DaemonSet
183 ##
184 annotations: {}
185 # keel.sh/pollSchedule: "@every 60m"
186
187 ## Labels to be added to the controller Deployment or DaemonSet
188 ##
189 labels: {}
190 # keel.sh/policy: patch
191 # keel.sh/trigger: poll
192
193
194 # The update strategy to apply to the Deployment or DaemonSet
195 ##
196 updateStrategy: {}
197 # rollingUpdate:
198 # maxUnavailable: 1
199 # type: RollingUpdate
200
201 # minReadySeconds to avoid killing pods before we are ready
202 ##
203 minReadySeconds: 0
204
205
206 ## Node tolerations for server scheduling to nodes with taints
207 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
208 ##
209 tolerations: []
210 # - key: "key"
211 # operator: "Equal|Exists"
212 # value: "value"
213 # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"
214
215 ## Affinity and anti-affinity
216 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
217 ##
218 affinity: {}
219 # # An example of preferred pod anti-affinity, weight is in the range 1-100
220 # podAntiAffinity:
221 # preferredDuringSchedulingIgnoredDuringExecution:
222 # - weight: 100
223 # podAffinityTerm:
224 # labelSelector:
225 # matchExpressions:
226 # - key: app.kubernetes.io/name
227 # operator: In
228 # values:
229 # - ingress-nginx
230 # - key: app.kubernetes.io/instance
231 # operator: In
232 # values:
233 # - ingress-nginx
234 # - key: app.kubernetes.io/component
235 # operator: In
236 # values:
237 # - controller
238 # topologyKey: kubernetes.io/hostname
239
240 # # An example of required pod anti-affinity
241 # podAntiAffinity:
242 # requiredDuringSchedulingIgnoredDuringExecution:
243 # - labelSelector:
244 # matchExpressions:
245 # - key: app.kubernetes.io/name
246 # operator: In
247 # values:
248 # - ingress-nginx
249 # - key: app.kubernetes.io/instance
250 # operator: In
251 # values:
252 # - ingress-nginx
253 # - key: app.kubernetes.io/component
254 # operator: In
255 # values:
256 # - controller
257 # topologyKey: "kubernetes.io/hostname"
258
259 ## Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in.
260 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
261 ##
262 topologySpreadConstraints: []
263 # - maxSkew: 1
264 # topologyKey: failure-domain.beta.kubernetes.io/zone
265 # whenUnsatisfiable: DoNotSchedule
266 # labelSelector:
267 # matchLabels:
268 # app.kubernetes.io/instance: ingress-nginx-internal
269
270 ## terminationGracePeriodSeconds
271 ## wait up to five minutes for the drain of connections
272 ##
273 terminationGracePeriodSeconds: 300
274
275 ## Node labels for controller pod assignment
276 ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
277 ##
278 nodeSelector:
279 kubernetes.io/os: linux
280
281 ## Liveness and readiness probe values
282 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
283 ##
284 # startupProbe:
285 # httpGet:
286 # # should match container.healthCheckPath
287 # path: "/healthz"
288 # port: 10254
289 # scheme: HTTP
290 # initialDelaySeconds: 5
291 # periodSeconds: 5
292 # timeoutSeconds: 2
293 # successThreshold: 1
294 # failureThreshold: 5
295 livenessProbe:
296 httpGet:
297 # should match container.healthCheckPath
298 path: "/healthz"
299 port: 10254
300 scheme: HTTP
301 initialDelaySeconds: 10
302 periodSeconds: 10
303 timeoutSeconds: 1
304 successThreshold: 1
305 failureThreshold: 5
306 readinessProbe:
307 httpGet:
308 # should match container.healthCheckPath
309 path: "/healthz"
310 port: 10254
311 scheme: HTTP
312 initialDelaySeconds: 10
313 periodSeconds: 10
314 timeoutSeconds: 1
315 successThreshold: 1
316 failureThreshold: 3
317
318
319 # Path of the health check endpoint. All requests received on the port defined by
320 # the healthz-port parameter are forwarded internally to this path.
321 healthCheckPath: "/healthz"
322
323 # Address to bind the health check endpoint.
324 # It is better to set this option to the internal node address
325 # if the ingress nginx controller is running in the hostNetwork: true mode.
326 healthCheckHost: ""
327
328 ## Annotations to be added to controller pods
329 ##
330 podAnnotations: {}
331
332 replicaCount: 1
333
334 minAvailable: 1
335
336 # Define requests resources to avoid probe issues due to CPU utilization in busy nodes
337 # ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903
338 # Ideally, there should be no limits.
339 # https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/
340 resources:
341 # limits:
342 # cpu: 100m
343 # memory: 90Mi
344 requests:
345 cpu: 100m
346 memory: 90Mi
347
348 # Mutually exclusive with keda autoscaling
349 autoscaling:
350 enabled: false
351 minReplicas: 1
352 maxReplicas: 11
353 targetCPUUtilizationPercentage: 50
354 targetMemoryUtilizationPercentage: 50
355 behavior: {}
356 # scaleDown:
357 # stabilizationWindowSeconds: 300
358 # policies:
359 # - type: Pods
360 # value: 1
361 # periodSeconds: 180
362 # scaleUp:
363 # stabilizationWindowSeconds: 300
364 # policies:
365 # - type: Pods
366 # value: 2
367 # periodSeconds: 60
368
369 autoscalingTemplate: []
370 # Custom or additional autoscaling metrics
371 # ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics
372 # - type: Pods
373 # pods:
374 # metric:
375 # name: nginx_ingress_controller_nginx_process_requests_total
376 # target:
377 # type: AverageValue
378 # averageValue: 10000m
379
380 # Mutually exclusive with hpa autoscaling
381 keda:
382 apiVersion: "keda.sh/v1alpha1"
383 # apiVersion changes with keda 1.x vs 2.x
384 # 2.x = keda.sh/v1alpha1
385 # 1.x = keda.k8s.io/v1alpha1
386 enabled: false
387 minReplicas: 1
388 maxReplicas: 11
389 pollingInterval: 30
390 cooldownPeriod: 300
391 restoreToOriginalReplicaCount: false
392 scaledObject:
393 annotations: {}
394 # Custom annotations for ScaledObject resource
395 # annotations:
396 # key: value
397 triggers: []
398 # - type: prometheus
399 # metadata:
400 # serverAddress: http://<prometheus-host>:9090
401 # metricName: http_requests_total
402 # threshold: '100'
403 # query: sum(rate(http_requests_total{deployment="my-deployment"}[2m]))
404
405 behavior: {}
406 # scaleDown:
407 # stabilizationWindowSeconds: 300
408 # policies:
409 # - type: Pods
410 # value: 1
411 # periodSeconds: 180
412 # scaleUp:
413 # stabilizationWindowSeconds: 300
414 # policies:
415 # - type: Pods
416 # value: 2
417 # periodSeconds: 60
418
419 ## Enable mimalloc as a drop-in replacement for malloc.
420 ## ref: https://github.com/microsoft/mimalloc
421 ##
422 enableMimalloc: true
423
424 ## Override NGINX template
425 customTemplate:
426 configMapName: ""
427 configMapKey: ""
428
429 service:
430 enabled: true
431
432 annotations: {}
433 labels: {}
434 # clusterIP: ""
435
436 ## List of IP addresses at which the controller services are available
437 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
438 ##
439 externalIPs: []
440
441 # loadBalancerIP: ""
442 loadBalancerSourceRanges: []
443
444 enableHttp: true
445 enableHttps: true
446
447 ## Set external traffic policy to: "Local" to preserve source IP on
448 ## providers supporting it
449 ## Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
450 # externalTrafficPolicy: ""
451
452 # Must be either "None" or "ClientIP" if set. Kubernetes will default to "None".
453 # Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
454 # sessionAffinity: ""
455
456 # specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified,
457 # the service controller allocates a port from your cluster’s NodePort range.
458 # Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
459 # healthCheckNodePort: 0
460
461 ports:
462 http: 80
463 https: 443
464
465 targetPorts:
466 http: http
467 https: https
468
469 type: LoadBalancer
470
471 # type: NodePort
472 # nodePorts:
473 # http: 32080
474 # https: 32443
475 # tcp:
476 # 8080: 32808
477 nodePorts:
478 http: ""
479 https: ""
480 tcp: {}
481 udp: {}
482
483 ## Enables an additional internal load balancer (besides the external one).
484 ## Annotations are mandatory for the load balancer to come up. Varies with the cloud service.
485 internal:
486 enabled: false
487 annotations: {}
488
489 # loadBalancerIP: ""
490
491 ## Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
492 loadBalancerSourceRanges: []
493
494 ## Set external traffic policy to: "Local" to preserve source IP on
495 ## providers supporting it
496 ## Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
497 # externalTrafficPolicy: ""
498
499 extraContainers: []
500 ## Additional containers to be added to the controller pod.
501 ## See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.
502 # - name: my-sidecar
503 # image: nginx:latest
504 # - name: lemonldap-ng-controller
505 # image: lemonldapng/lemonldap-ng-controller:0.2.0
506 # args:
507 # - /lemonldap-ng-controller
508 # - --alsologtostderr
509 # - --configmap=$(POD_NAMESPACE)/lemonldap-ng-configuration
510 # env:
511 # - name: POD_NAME
512 # valueFrom:
513 # fieldRef:
514 # fieldPath: metadata.name
515 # - name: POD_NAMESPACE
516 # valueFrom:
517 # fieldRef:
518 # fieldPath: metadata.namespace
519 # volumeMounts:
520 # - name: copy-portal-skins
521 # mountPath: /srv/var/lib/lemonldap-ng/portal/skins
522
523 extraVolumeMounts: []
524 ## Additional volumeMounts to the controller main container.
525 # - name: copy-portal-skins
526 # mountPath: /var/lib/lemonldap-ng/portal/skins
527
528 extraVolumes: []
529 ## Additional volumes to the controller pod.
530 # - name: copy-portal-skins
531 # emptyDir: {}
532
533 extraInitContainers: []
534 ## Containers, which are run before the app containers are started.
535 # - name: init-myservice
536 # image: busybox
537 # command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
538
539 admissionWebhooks:
540 annotations: {}
541 enabled: true
542 failurePolicy: Fail
543 # timeoutSeconds: 10
544 port: 8443
545 certificate: "/usr/local/certificates/cert"
546 key: "/usr/local/certificates/key"
547 namespaceSelector: {}
548 objectSelector: {}
549
550 # Use an existing PSP instead of creating one
551 existingPsp: ""
552
553 service:
554 annotations: {}
555 # clusterIP: ""
556 externalIPs: []
557 # loadBalancerIP: ""
558 loadBalancerSourceRanges: []
559 servicePort: 443
560 type: ClusterIP
561
562 createSecretJob:
563 resources: {}
564 # limits:
565 # cpu: 10m
566 # memory: 20Mi
567 # requests:
568 # cpu: 10m
569 # memory: 20Mi
570
571 patchWebhookJob:
572 resources: {}
573
574 patch:
575 enabled: true
576 image:
577 registry: k8s.gcr.io
578 image: ingress-nginx/kube-webhook-certgen
579 # for backwards compatibility consider setting the full image url via the repository value below
580 # use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
581 # repository:
582 tag: v1.0
583 digest: sha256:f3b6b39a6062328c095337b4cadcefd1612348fdd5190b1dcbcb9b9e90bd8068
584 pullPolicy: IfNotPresent
585 ## Provide a priority class name to the webhook patching job
586 ##
587 priorityClassName: ""
588 podAnnotations: {}
589 nodeSelector:
590 kubernetes.io/os: linux
591 tolerations: []
592 runAsUser: 2000
593
594 metrics:
595 port: 10254
596 # if this port is changed, change healthz-port: in extraArgs: accordingly
597 enabled: false
598
599 service:
600 annotations: {}
601 # prometheus.io/scrape: "true"
602 # prometheus.io/port: "10254"
603
604 # clusterIP: ""
605
606 ## List of IP addresses at which the stats-exporter service is available
607 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
608 ##
609 externalIPs: []
610
611 # loadBalancerIP: ""
612 loadBalancerSourceRanges: []
613 servicePort: 10254
614 type: ClusterIP
615 # externalTrafficPolicy: ""
616 # nodePort: ""
617
618 serviceMonitor:
619 enabled: false
620 additionalLabels: {}
621 # The label to use to retrieve the job name from.
622 # jobLabel: "app.kubernetes.io/name"
623 namespace: ""
624 namespaceSelector: {}
625 # Default: scrape .Release.Namespace only
626 # To scrape all, use the following:
627 # namespaceSelector:
628 # any: true
629 scrapeInterval: 30s
630 # honorLabels: true
631 targetLabels: []
632 metricRelabelings: []
633
634 prometheusRule:
635 enabled: false
636 additionalLabels: {}
637 # namespace: ""
638 rules: []
639 # # These are just examples rules, please adapt them to your needs
640 # - alert: NGINXConfigFailed
641 # expr: count(nginx_ingress_controller_config_last_reload_successful == 0) > 0
642 # for: 1s
643 # labels:
644 # severity: critical
645 # annotations:
646 # description: bad ingress config - nginx config test failed
647 # summary: uninstall the latest ingress changes to allow config reloads to resume
648 # - alert: NGINXCertificateExpiry
649 # expr: (avg(nginx_ingress_controller_ssl_expire_time_seconds) by (host) - time()) < 604800
650 # for: 1s
651 # labels:
652 # severity: critical
653 # annotations:
654 # description: ssl certificate(s) will expire in less then a week
655 # summary: renew expiring certificates to avoid downtime
656 # - alert: NGINXTooMany500s
657 # expr: 100 * ( sum( nginx_ingress_controller_requests{status=~"5.+"} ) / sum(nginx_ingress_controller_requests) ) > 5
658 # for: 1m
659 # labels:
660 # severity: warning
661 # annotations:
662 # description: Too many 5XXs
663 # summary: More than 5% of all requests returned 5XX, this requires your attention
664 # - alert: NGINXTooMany400s
665 # expr: 100 * ( sum( nginx_ingress_controller_requests{status=~"4.+"} ) / sum(nginx_ingress_controller_requests) ) > 5
666 # for: 1m
667 # labels:
668 # severity: warning
669 # annotations:
670 # description: Too many 4XXs
671 # summary: More than 5% of all requests returned 4XX, this requires your attention
672
673 ## Improve connection draining when ingress controller pod is deleted using a lifecycle hook:
674 ## With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds
675 ## to 300, allowing the draining of connections up to five minutes.
676 ## If the active connections end before that, the pod will terminate gracefully at that time.
677 ## To effectively take advantage of this feature, the Configmap feature
678 ## worker-shutdown-timeout new value is 240s instead of 10s.
679 ##
680 lifecycle:
681 preStop:
682 exec:
683 command:
684 - /wait-shutdown
685
686 priorityClassName: ""
687
688## Rollback limit
689##
690revisionHistoryLimit: 10
691
692## Default 404 backend
693##
694defaultBackend:
695 ##
696 enabled: false
697
698 name: defaultbackend
699 image:
700 registry: k8s.gcr.io
701 image: defaultbackend-amd64
702 # for backwards compatibility consider setting the full image url via the repository value below
703 # use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail
704 # repository:
705 tag: "1.5"
706 pullPolicy: IfNotPresent
707 # nobody user -> uid 65534
708 runAsUser: 65534
709 runAsNonRoot: true
710 readOnlyRootFilesystem: true
711 allowPrivilegeEscalation: false
712
713 # Use an existing PSP instead of creating one
714 existingPsp: ""
715
716 extraArgs: {}
717
718 serviceAccount:
719 create: true
720 name: ""
721 automountServiceAccountToken: true
722 ## Additional environment variables to set for defaultBackend pods
723 extraEnvs: []
724
725 port: 8080
726
727 ## Readiness and liveness probes for default backend
728 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
729 ##
730 livenessProbe:
731 failureThreshold: 3
732 initialDelaySeconds: 30
733 periodSeconds: 10
734 successThreshold: 1
735 timeoutSeconds: 5
736 readinessProbe:
737 failureThreshold: 6
738 initialDelaySeconds: 0
739 periodSeconds: 5
740 successThreshold: 1
741 timeoutSeconds: 5
742
743 ## Node tolerations for server scheduling to nodes with taints
744 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
745 ##
746 tolerations: []
747 # - key: "key"
748 # operator: "Equal|Exists"
749 # value: "value"
750 # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)"
751
752 affinity: {}
753
754 ## Security Context policies for controller pods
755 ## See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for
756 ## notes on enabling and using sysctls
757 ##
758 podSecurityContext: {}
759
760 # labels to add to the pod container metadata
761 podLabels: {}
762 # key: value
763
764 ## Node labels for default backend pod assignment
765 ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
766 ##
767 nodeSelector:
768 kubernetes.io/os: linux
769
770 ## Annotations to be added to default backend pods
771 ##
772 podAnnotations: {}
773
774 replicaCount: 1
775
776 minAvailable: 1
777
778 resources: {}
779 # limits:
780 # cpu: 10m
781 # memory: 20Mi
782 # requests:
783 # cpu: 10m
784 # memory: 20Mi
785
786 extraVolumeMounts: []
787 ## Additional volumeMounts to the default backend container.
788 # - name: copy-portal-skins
789 # mountPath: /var/lib/lemonldap-ng/portal/skins
790
791 extraVolumes: []
792 ## Additional volumes to the default backend pod.
793 # - name: copy-portal-skins
794 # emptyDir: {}
795
796 autoscaling:
797 annotations: {}
798 enabled: false
799 minReplicas: 1
800 maxReplicas: 2
801 targetCPUUtilizationPercentage: 50
802 targetMemoryUtilizationPercentage: 50
803
804 service:
805 annotations: {}
806
807 # clusterIP: ""
808
809 ## List of IP addresses at which the default backend service is available
810 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
811 ##
812 externalIPs: []
813
814 # loadBalancerIP: ""
815 loadBalancerSourceRanges: []
816 servicePort: 80
817 type: ClusterIP
818
819 priorityClassName: ""
820
821## Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266
822rbac:
823 create: true
824 scope: false
825
826# If true, create & use Pod Security Policy resources
827# https://kubernetes.io/docs/concepts/policy/pod-security-policy/
828podSecurityPolicy:
829 enabled: false
830
831serviceAccount:
832 create: true
833 name: ""
834 automountServiceAccountToken: true
835
836## Optional array of imagePullSecrets containing private registry credentials
837## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
838imagePullSecrets: []
839# - name: secretName
840
841# TCP service key:value pairs
842# Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md
843##
844tcp: {}
845# 8080: "default/example-tcp-svc:9000"
846
847# UDP service key:value pairs
848# Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md
849##
850udp: {}
851# 53: "kube-system/kube-dns:53"
852
853# A base64ed Diffie-Hellman parameter
854# This can be generated with: openssl dhparam 4096 2> /dev/null | base64
855# Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param
856dhParam: