-
Notifications
You must be signed in to change notification settings - Fork 9.1k
/
values.yaml
1093 lines (1084 loc) · 46.9 KB
/
values.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Copyright Broadcom, Inc. All Rights Reserved.
# SPDX-License-Identifier: APACHE-2.0
## @section Global parameters
## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry, imagePullSecrets, defaultStorageClass and compatibility
##
## @param global.imageRegistry Global Docker image registry
## @param global.imagePullSecrets Global Docker registry secret names as an array
## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
##
global:
imageRegistry: ""
## E.g.
## imagePullSecrets:
## - myRegistryKeySecretName
##
imagePullSecrets: []
defaultStorageClass: ""
## Compatibility adaptations for Kubernetes platforms
##
compatibility:
## Compatibility adaptations for Openshift
##
openshift:
## @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)
##
adaptSecurityContext: auto
## @section Common parameters
##
## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
##
kubeVersion: ""
## @param nameOverride String to partially override common.names.fullname template with a string (will prepend the release name)
##
nameOverride: ""
## @param fullnameOverride String to fully override common.names.fullname template with a string
##
fullnameOverride: ""
## @param commonAnnotations Common annotations to add to all Kong resources (sub-charts are not considered). Evaluated as a template
##
commonAnnotations: {}
## @param commonLabels Common labels to add to all Kong resources (sub-charts are not considered). Evaluated as a template
##
commonLabels: {}
## @param clusterDomain Kubernetes cluster domain
##
clusterDomain: cluster.local
## @param extraDeploy Array of extra objects to deploy with the release (evaluated as a template).
##
extraDeploy: []
## Enable diagnostic mode in the daemonset/deployment
##
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 daemonset/deployment
##
command:
- sleep
## @param diagnosticMode.args Args to override all containers in the daemonset/deployment
##
args:
- infinity
## @section Kong common parameters
##
## Bitnami kong image version
## ref: https://hub.docker.com/r/bitnami/kong/tags/
## @param image.registry [default: REGISTRY_NAME] kong image registry
## @param image.repository [default: REPOSITORY_NAME/kong] kong image repository
## @skip image.tag kong image tag (immutable tags are recommended)
## @param image.digest kong image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
## @param image.pullPolicy kong image pull policy
## @param image.pullSecrets Specify docker-registry secret names as an array
## @param image.debug Enable image debug mode
##
image:
registry: docker.io
repository: bitnami/kong
tag: 3.8.0-debian-12-r2
digest: ""
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
## E.g:
## pullSecrets:
## - myRegistryKeySecretName
##
pullSecrets: []
## Enable debug mode
##
debug: false
## @param database Select which database backend Kong will use. Can be 'postgresql', 'cassandra' or 'off'
##
database: postgresql
## @section Kong deployment / daemonset parameters
##
## @param useDaemonset Use a daemonset instead of a deployment. `replicaCount` will not take effect.
##
useDaemonset: false
## @param replicaCount Number of Kong replicas
##
replicaCount: 2
## Kong containers' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
## @param containerSecurityContext.enabled Enabled containers' Security Context
## @param containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
## @param containerSecurityContext.runAsUser Set containers' Security Context runAsUser
## @param containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
## @param containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
## @param containerSecurityContext.privileged Set container's Security Context privileged
## @param containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
## @param containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
## @param containerSecurityContext.capabilities.drop List of capabilities to be dropped
## @param containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
##
containerSecurityContext:
enabled: true
seLinuxOptions: {}
runAsUser: 1001
runAsGroup: 1001
runAsNonRoot: true
privileged: false
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
seccompProfile:
type: "RuntimeDefault"
## Kong 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 Kong pods' Security Context
## @param podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
## @param podSecurityContext.sysctls Set kernel settings using the sysctl interface
## @param podSecurityContext.supplementalGroups Set filesystem extra groups
## @param podSecurityContext.fsGroup Set Kong pod's Security Context fsGroup
##
podSecurityContext:
enabled: true
fsGroupChangePolicy: Always
sysctls: []
supplementalGroups: []
fsGroup: 1001
## @param updateStrategy.type Kong update strategy
## @param updateStrategy.rollingUpdate Kong deployment rolling update configuration parameters
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
## Note: Set to Recreate if you use persistent volume that cannot be mounted by more than one pods to make sure the pods is destroyed first.
## E.g:
## updateStrategy:
## type: RollingUpdate
## rollingUpdate:
## maxSurge: 25%
## maxUnavailable: 25%
##
updateStrategy:
type: RollingUpdate
rollingUpdate: {}
## @param automountServiceAccountToken Mount Service Account token in pod
##
automountServiceAccountToken: true
## @param hostAliases Add deployment host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## @param topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
##
topologySpreadConstraints: []
## @param priorityClassName Priority Class Name
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
##
priorityClassName: ""
## @param schedulerName Use an alternate scheduler, e.g. "stork".
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
schedulerName: ""
## @param terminationGracePeriodSeconds Seconds Kong pod needs to terminate gracefully
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
##
terminationGracePeriodSeconds: ""
## @param podAnnotations Additional pod annotations
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## @param podLabels Additional pod labels
## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAffinityPreset: ""
## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAntiAffinityPreset: soft
## Node affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
##
nodeAffinityPreset:
## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
##
type: ""
## @param nodeAffinityPreset.key Node label key to match Ignored if `affinity` is set.
## E.g.
## key: "kubernetes.io/e2e-az-name"
##
key: ""
## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set.
## E.g.
## values:
## - e2e-az1
## - e2e-az2
##
values: []
## @param affinity Affinity for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
## Note: `podAffinityPreset`, `podAntiAffinityPreset`, and `nodeAffinityPreset` will be ignored when it's set
##
affinity: {}
## @param nodeSelector Node labels for pod assignment
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
##
nodeSelector: {}
## @param tolerations Tolerations for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param extraVolumes Array of extra volumes to be added to the Kong deployment deployment (evaluated as template). Requires setting `extraVolumeMounts`
##
extraVolumes: []
## @param initContainers Add additional init containers to the Kong pods
## e.g.
## - name: your-image-name
## image: your-image
## imagePullPolicy: Always
## ports:
## - name: portname
## containerPort: 1234
##
initContainers: []
## @param sidecars Add additional sidecar containers to the Kong pods
## e.g.
## - name: your-image-name
## image: your-image
## imagePullPolicy: Always
## ports:
## - name: portname
## containerPort: 1234
##
sidecars: []
## Add an horizontal pod autoscaler
## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
## @param autoscaling.enabled Deploy a HorizontalPodAutoscaler object for the Kong deployment
## @param autoscaling.minReplicas Minimum number of replicas to scale back
## @param autoscaling.maxReplicas Maximum number of replicas to scale out
## @param autoscaling.metrics [array] Metrics to use when deciding to scale the deployment (evaluated as a template)
##
autoscaling:
enabled: false
minReplicas: 2
maxReplicas: 5
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 80
## Kong Pod Disruption Budget
## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
## @param pdb.create Deploy a PodDisruptionBudget object for Kong deployment
## @param pdb.minAvailable Minimum available Kong replicas (expressed in percentage)
## @param pdb.maxUnavailable Maximum unavailable Kong replicas (expressed in percentage)
##
pdb:
create: true
minAvailable: ""
maxUnavailable: "50%"
## @section Kong Container Parameters
##
kong:
## @param kong.command Override default container command (useful when using custom images)
##
command: []
## @param kong.args Override default container args (useful when using custom images)
##
args: []
## @param kong.initScriptsCM Configmap with init scripts to execute
## ConfigMap containing `/docker-entrypoint-initdb.d` scripts to be executed at initialization time (evaluated as a template)
##
initScriptsCM: ""
## @param kong.initScriptsSecret Configmap with init scripts to execute
## Secret containing `/docker-entrypoint-initdb.d` scripts to be executed at initialization time (that contain sensitive data). Evaluated as a template.
##
initScriptsSecret: ""
## @param kong.declarativeConfig Declarative configuration to be loaded by Kong (evaluated as a template)
## https://docs.konghq.com/gateway/latest/production/deployment-topologies/db-less-and-declarative-config/
##
declarativeConfig: ""
## @param kong.declarativeConfigCM Configmap with declarative configuration to be loaded by Kong (evaluated as a template)
## https://docs.konghq.com/gateway/latest/production/deployment-topologies/db-less-and-declarative-config/
##
declarativeConfigCM: ""
## @param kong.extraEnvVars Array containing extra env vars to configure Kong
## For example:
## extraEnvVars:
## - name: GF_DEFAULT_INSTANCE_NAME
## value: my-instance
##
extraEnvVars: []
## @param kong.extraEnvVarsCM ConfigMap containing extra env vars to configure Kong
##
extraEnvVarsCM: ""
## @param kong.extraEnvVarsSecret Secret containing extra env vars to configure Kong (in case of sensitive data)
##
extraEnvVarsSecret: ""
## @param kong.extraVolumeMounts Array of extra volume mounts to be added to the Kong Container (evaluated as template). Normally used with `extraVolumes`.
##
extraVolumeMounts: []
## @param kong.containerPorts.proxyHttp Kong proxy HTTP container port
## @param kong.containerPorts.proxyHttps Kong proxy HTTPS container port
## @param kong.containerPorts.adminHttp Kong admin HTTP container port
## @param kong.containerPorts.adminHttps Kong admin HTTPS container port
##
containerPorts:
proxyHttp: 8000
proxyHttps: 8443
adminHttp: 8001
adminHttps: 8444
## Container resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param kong.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if kong.resources is set (kong.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
##
resourcesPreset: "medium"
## @param kong.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example:
## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
##
resources: {}
## Configure extra options for Kong containers' liveness, readiness and startup probes
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
## @param kong.livenessProbe.enabled Enable livenessProbe on Kong containers
## @param kong.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
## @param kong.livenessProbe.periodSeconds Period seconds for livenessProbe
## @param kong.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
## @param kong.livenessProbe.failureThreshold Failure threshold for livenessProbe
## @param kong.livenessProbe.successThreshold Success threshold for livenessProbe
##
livenessProbe:
enabled: true
initialDelaySeconds: 120
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
## @param kong.readinessProbe.enabled Enable readinessProbe on Kong containers
## @param kong.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
## @param kong.readinessProbe.periodSeconds Period seconds for readinessProbe
## @param kong.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
## @param kong.readinessProbe.failureThreshold Failure threshold for readinessProbe
## @param kong.readinessProbe.successThreshold Success threshold for readinessProbe
##
readinessProbe:
enabled: true
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
## @param kong.startupProbe.enabled Enable startupProbe on Kong containers
## @param kong.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
## @param kong.startupProbe.periodSeconds Period seconds for startupProbe
## @param kong.startupProbe.timeoutSeconds Timeout seconds for startupProbe
## @param kong.startupProbe.failureThreshold Failure threshold for startupProbe
## @param kong.startupProbe.successThreshold Success threshold for startupProbe
##
startupProbe:
enabled: false
initialDelaySeconds: 10
periodSeconds: 15
timeoutSeconds: 3
failureThreshold: 20
successThreshold: 1
## @param kong.customLivenessProbe Override default liveness probe (kong container)
##
customLivenessProbe: {}
## @param kong.customReadinessProbe Override default readiness probe (kong container)
##
customReadinessProbe: {}
## @param kong.customStartupProbe Override default startup probe (kong container)
##
customStartupProbe: {}
## @param kong.lifecycleHooks Lifecycle hooks (kong container)
## ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
##
lifecycleHooks: {}
## @section Traffic Exposure Parameters
##
## Service parameters
##
service:
## @param service.type Kubernetes Service type
##
type: ClusterIP
## @param service.exposeAdmin Add the Kong Admin ports to the service
##
exposeAdmin: false
## @param service.disableHttpPort Disable Kong proxy HTTP and Kong admin HTTP ports
##
disableHttpPort: false
## @param service.ports.proxyHttp Kong proxy service HTTP port
## @param service.ports.proxyHttps Kong proxy service HTTPS port
## @param service.ports.adminHttp Kong admin service HTTP port (only if service.exposeAdmin=true)
## @param service.ports.adminHttps Kong admin service HTTPS port (only if service.exposeAdmin=true)
##
ports:
proxyHttp: 80
proxyHttps: 443
adminHttp: 8001
adminHttps: 8444
## @param service.nodePorts.proxyHttp NodePort for the Kong proxy HTTP endpoint
## @param service.nodePorts.proxyHttps NodePort for the Kong proxy HTTPS endpoint
## @param service.nodePorts.adminHttp NodePort for the Kong admin HTTP endpoint
## @param service.nodePorts.adminHttps NodePort for the Kong admin HTTPS endpoint
## NOTE: choose port between <30000-32767>
##
nodePorts:
proxyHttp: ""
proxyHttps: ""
adminHttp: ""
adminHttps: ""
## @param service.sessionAffinity Control where client requests go, to the same pod or round-robin
## Values: ClientIP or None
## ref: https://kubernetes.io/docs/concepts/services-networking/service/
##
sessionAffinity: None
## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
## sessionAffinityConfig:
## clientIP:
## timeoutSeconds: 300
##
sessionAffinityConfig: {}
## @param service.clusterIP Cluster internal IP of the service
## This is the internal IP address of the service and is usually assigned randomly.
## ref: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/#ServiceSpec
##
clusterIP: ""
## @param service.externalTrafficPolicy external traffic policy managing client source IP preservation
## default to "Cluster"
## set to "Local" in order to preserve the client source IP (only on service of type LoadBalancer or NodePort)
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
##
externalTrafficPolicy: ""
## @param service.loadBalancerIP loadBalancerIP if kong service type is `LoadBalancer`
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
##
loadBalancerIP: ""
## @param service.loadBalancerSourceRanges Kong service Load Balancer sources
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
## e.g:
## loadBalancerSourceRanges:
## - 10.10.10.0/24
##
loadBalancerSourceRanges: []
## @param service.annotations Annotations for Kong service
## set the LoadBalancer service type to internal only.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
annotations: {}
## @param service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
##
extraPorts: []
## Network Policies
## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
##
networkPolicy:
## @param networkPolicy.enabled Specifies whether a NetworkPolicy should be created
##
enabled: true
## @param networkPolicy.allowExternal Don't require server label for connections
## The Policy model to apply. When set to false, only pods with the correct
## server label will have network access to the ports server is listening
## on. When true, server will accept connections from any source
## (with the correct destination port).
##
allowExternal: true
## @param networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
##
allowExternalEgress: true
## @param networkPolicy.kubeAPIServerPorts [array] List of possible endpoints to kube-apiserver (limit to your cluster settings to increase security)
##
kubeAPIServerPorts: [443, 6443, 8443]
## @param networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
## e.g:
## extraIngress:
## - ports:
## - port: 1234
## from:
## - podSelector:
## - matchLabels:
## - role: frontend
## - podSelector:
## - matchExpressions:
## - key: role
## operator: In
## values:
## - frontend
extraIngress: []
## @param networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
## e.g:
## extraEgress:
## - ports:
## - port: 1234
## to:
## - podSelector:
## - matchLabels:
## - role: frontend
## - podSelector:
## - matchExpressions:
## - key: role
## operator: In
## values:
## - frontend
##
extraEgress: []
## @param networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
## @param networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
##
ingressNSMatchLabels: {}
ingressNSPodMatchLabels: {}
## Configure the ingress resource that allows you to access the
## Kong installation. Set up the URL
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
##
ingress:
## @param ingress.enabled Enable ingress controller resource
##
enabled: false
## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster.
## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
##
ingressClassName: ""
## @param ingress.pathType Ingress path type
##
pathType: ImplementationSpecific
## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
##
apiVersion: ""
## @param ingress.hostname Default host for the ingress resource
##
hostname: kong.local
## @param ingress.path Ingress path
## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
##
path: /
## @param ingress.annotations [object] Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
## Use this parameter to set the required annotations for cert-manager, see
## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
## e.g:
## annotations:
## kubernetes.io/ingress.class: nginx
## cert-manager.io/cluster-issuer: cluster-issuer-name
##
annotations: {}
## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
## You can:
## - Use the `ingress.secrets` parameter to create this TLS secret
## - Rely on cert-manager to create it by setting the corresponding annotations
## - Rely on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
##
tls: false
## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
##
selfSigned: false
## @param ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
## extraHosts:
## - name: kong.local
## path: /
##
extraHosts: []
## @param ingress.extraPaths Additional arbitrary path/backend objects
## For example: The ALB ingress controller requires a special rule for handling SSL redirection.
## extraPaths:
## - path: /*
## backend:
## serviceName: ssl-redirect
## servicePort: use-annotation
##
extraPaths: []
## @param ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
## extraTls:
## - hosts:
## - kong.local
## secretName: kong.local-tls
##
extraTls: []
## @param ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
## key and certificate should start with -----BEGIN CERTIFICATE----- or
## -----BEGIN RSA PRIVATE KEY-----
##
## name should line up with a tlsSecret set further up
## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
##
## It is also possible to create and manage the certificates outside of this helm chart
## Please see README.md for more information
## e.g:
## secrets:
## - name: kong.local-tls
## key:
## certificate:
##
##
secrets: []
## @param ingress.extraRules Additional rules to be covered with this ingress record
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
## e.g:
## extraRules:
## - host: example.local
## http:
## path: /
## backend:
## service:
## name: example-svc
## port:
## name: http
##
extraRules: []
## @section Kong Ingress Controller Container Parameters
##
ingressController:
## @param ingressController.enabled Enable/disable the Kong Ingress Controller
##
enabled: true
## @param ingressController.image.registry [default: REGISTRY_NAME] Kong Ingress Controller image registry
## @param ingressController.image.repository [default: REPOSITORY_NAME/kong-ingress-controller] Kong Ingress Controller image name
## @skip ingressController.image.tag Kong Ingress Controller image tag
## @param ingressController.image.digest Kong Ingress Controller image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
## @param ingressController.image.pullPolicy Kong Ingress Controller image pull policy
## @param ingressController.image.pullSecrets Specify docker-registry secret names as an array
##
image:
registry: docker.io
repository: bitnami/kong-ingress-controller
tag: 3.3.1-debian-12-r3
digest: ""
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
## E.g:
## pullSecrets:
## - myRegistryKeySecretName
##
pullSecrets: []
## @param ingressController.proxyReadyTimeout Maximum time (in seconds) to wait for the Kong container to be ready
##
proxyReadyTimeout: 300
## @param ingressController.ingressClass Name of the class to register Kong Ingress Controller (useful when having other Ingress Controllers in the cluster)
##
ingressClass: kong
## @param ingressController.command Override default container command (useful when using custom images)
##
command: []
## @param ingressController.args Override default container args (useful when using custom images)
##
args: []
## @param ingressController.extraEnvVars Array containing extra env vars to configure Kong
## For example:
## extraEnvVars:
## - name: GF_DEFAULT_INSTANCE_NAME
## value: my-instance
##
extraEnvVars: []
## @param ingressController.extraEnvVarsCM ConfigMap containing extra env vars to configure Kong Ingress Controller
##
extraEnvVarsCM: ""
## @param ingressController.extraEnvVarsSecret Secret containing extra env vars to configure Kong Ingress Controller (in case of sensitive data)
##
extraEnvVarsSecret: ""
## @param ingressController.extraVolumeMounts Array of extra volume mounts to be added to the Kong Ingress Controller container (evaluated as template). Normally used with `extraVolumes`.
##
extraVolumeMounts: []
## @param ingressController.containerPorts.health Kong Ingress Controller health container port
##
containerPorts:
health: 10254
## Container resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param ingressController.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if ingressController.resources is set (ingressController.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
##
resourcesPreset: "nano"
## @param ingressController.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example:
## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
##
resources: {}
## Configure extra options for Kong Ingress Controller containers' liveness, readiness and startup probes
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
## @param ingressController.livenessProbe.enabled Enable livenessProbe on Kong Ingress Controller containers
## @param ingressController.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
## @param ingressController.livenessProbe.periodSeconds Period seconds for livenessProbe
## @param ingressController.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
## @param ingressController.livenessProbe.failureThreshold Failure threshold for livenessProbe
## @param ingressController.livenessProbe.successThreshold Success threshold for livenessProbe
##
livenessProbe:
enabled: true
initialDelaySeconds: 120
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
## @param ingressController.readinessProbe.enabled Enable readinessProbe on Kong Ingress Controller containers
## @param ingressController.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
## @param ingressController.readinessProbe.periodSeconds Period seconds for readinessProbe
## @param ingressController.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
## @param ingressController.readinessProbe.failureThreshold Failure threshold for readinessProbe
## @param ingressController.readinessProbe.successThreshold Success threshold for readinessProbe
##
readinessProbe:
enabled: true
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
## @param ingressController.startupProbe.enabled Enable startupProbe on Kong Ingress Controller containers
## @param ingressController.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
## @param ingressController.startupProbe.periodSeconds Period seconds for startupProbe
## @param ingressController.startupProbe.timeoutSeconds Timeout seconds for startupProbe
## @param ingressController.startupProbe.failureThreshold Failure threshold for startupProbe
## @param ingressController.startupProbe.successThreshold Success threshold for startupProbe
##
startupProbe:
enabled: false
initialDelaySeconds: 10
periodSeconds: 15
timeoutSeconds: 3
failureThreshold: 20
successThreshold: 1
## @param ingressController.customLivenessProbe Override default liveness probe (Kong Ingress Controller container)
##
customLivenessProbe: {}
## @param ingressController.customReadinessProbe Override default readiness probe (Kong Ingress Controller container)
##
customReadinessProbe: {}
## @param ingressController.customStartupProbe Override default startup probe (Kong Ingress Controller container)
##
customStartupProbe: {}
## @param ingressController.lifecycleHooks Lifecycle hooks (Kong Ingress Controller container)
## ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
##
lifecycleHooks: {}
## @param ingressController.serviceAccount.create Enable the creation of a ServiceAccount for Kong pods
## @param ingressController.serviceAccount.name Name of the created ServiceAccount (name generated using common.names.fullname template otherwise)
## @param ingressController.serviceAccount.automountServiceAccountToken Auto-mount the service account token in the pod
## @param ingressController.serviceAccount.annotations Additional custom annotations for the ServiceAccount
##
serviceAccount:
create: true
name: ""
automountServiceAccountToken: false
annotations: {}
## @param ingressController.rbac.create Create the necessary RBAC resources for the Ingress Controller to work
## @param ingressController.rbac.rules Custom RBAC rules
##
rbac:
create: true
## Example:
## rules:
## - apiGroups:
## - ""
## resources:
## - pods
## verbs:
## - get
## - list
##
rules: []
## @section Kong Migration job Parameters
##
migration:
## In case you want to use a custom image for Kong migration, set this value
## image:
## registry:
## repository:
## tag:
## digest: ""
##
## @param migration.command Override default container command (useful when using custom images)
##
command: []
## @param migration.args Override default container args (useful when using custom images)
##
args: []
## @param migration.extraEnvVars Array containing extra env vars to configure the Kong migration job
## For example:
## extraEnvVars:
## - name: GF_DEFAULT_INSTANCE_NAME
## value: my-instance
##
extraEnvVars: []
## @param migration.extraEnvVarsCM ConfigMap containing extra env vars to configure the Kong migration job
##
extraEnvVarsCM: ""
## @param migration.extraEnvVarsSecret Secret containing extra env vars to configure the Kong migration job (in case of sensitive data)
##
extraEnvVarsSecret: ""
## @param migration.extraVolumeMounts Array of extra volume mounts to be added to the Kong Container (evaluated as template). Normally used with `extraVolumes`.
##
extraVolumeMounts: []
## Container resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param migration.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if migration.resources is set (migration.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
##
resourcesPreset: "nano"
## @param migration.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example:
## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
##
resources: {}
## @param migration.automountServiceAccountToken Mount Service Account token in pod
##
automountServiceAccountToken: true
## @param migration.hostAliases Add deployment host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## @param migration.annotations [object] Add annotations to the job
##
annotations:
helm.sh/hook: post-install, pre-upgrade
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
## @param migration.podLabels Additional pod labels
## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param migration.podAnnotations Additional pod annotations
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## @section PostgreSQL Parameters
##
## PostgreSQL chart configuration
## ref: https://github.com/bitnami/charts/blob/main/bitnami/postgresql/values.yaml
## @param postgresql.enabled Switch to enable or disable the PostgreSQL helm chart
## @param postgresql.auth.postgresPassword Password for the "postgres" admin user
## @param postgresql.auth.username Name for a custom user to create
## @param postgresql.auth.password Password for the custom user to create
## @param postgresql.auth.database Name for a custom database to create
## @param postgresql.auth.existingSecret Name of existing secret to use for PostgreSQL credentials
## @param postgresql.auth.usePasswordFiles Mount credentials as a files instead of using an environment variable
## @param postgresql.architecture PostgreSQL architecture (`standalone` or `replication`)
##
postgresql:
enabled: true
## Override PostgreSQL default image as 14.x is not supported
## ref: https://github.com/bitnami/containers/tree/main/bitnami/postgresql
## @param postgresql.image.registry [default: REGISTRY_NAME] PostgreSQL image registry
## @param postgresql.image.repository [default: REPOSITORY_NAME/postgresql] PostgreSQL image repository
## @skip postgresql.image.tag PostgreSQL image tag (immutable tags are recommended)
## @param postgresql.image.digest PostgreSQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
##
image:
registry: docker.io
repository: bitnami/postgresql
tag: 14.13.0-debian-12-r10
digest: ""
auth:
username: kong
password: ""
database: kong
postgresPassword: ""
existingSecret: ""
usePasswordFiles: false
architecture: standalone
primary:
## PostgreSQL Primary resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## @param postgresql.primary.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if primary.resources is set (primary.resources is recommended for production).
## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
##
resourcesPreset: "nano"
## @param postgresql.primary.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
## Example:
## resources:
## requests:
## cpu: 2
## memory: 512Mi
## limits:
## cpu: 3
## memory: 1024Mi
##
resources: {}
## External PostgreSQL configuration
## All of these values are only used when postgresql.enabled is set to false
## @param postgresql.external.host Database host
## @param postgresql.external.port Database port number
## @param postgresql.external.user Non-root username for Kong
## @param postgresql.external.password Password for the non-root username for Kong
## @param postgresql.external.database Kong database name
## @param postgresql.external.existingSecret Name of an existing secret resource containing the database credentials
## @param postgresql.external.existingSecretPasswordKey Name of an existing secret key containing the database credentials
##
external:
host: ""
port: 5432
user: kong
password: ""
database: kong
existingSecret: ""
existingSecretPasswordKey: ""
## @section Cassandra Parameters
##
## Cassandra chart configuration
## ref: https://github.com/bitnami/charts/blob/main/bitnami/cassandra/values.yaml
## @param cassandra.enabled Switch to enable or disable the Cassandra helm chart
## @param cassandra.dbUser.user Cassandra admin user
## @param cassandra.dbUser.password Password for `cassandra.dbUser.user`. Randomly generated if empty
## @param cassandra.dbUser.existingSecret Name of existing secret to use for Cassandra credentials
## @param cassandra.usePasswordFile Mount credentials as a files instead of using an environment variable
## @param cassandra.replicaCount Number of Cassandra replicas
##
cassandra:
enabled: false
dbUser:
user: kong
password: ""
existingSecret: ""
usePasswordFile: false
replicaCount: 1
## External Cassandra configuration
## All of these values are only used when cassandra.enabled is set to false
## @param cassandra.external.hosts List of Cassandra hosts
## @param cassandra.external.port Cassandra port number
## @param cassandra.external.user Username of the external cassandra installation
## @param cassandra.external.password Password of the external cassandra installation
## @param cassandra.external.existingSecret Name of an existing secret resource containing the Cassandra credentials
## @param cassandra.external.existingSecretPasswordKey Name of an existing secret key containing the Cassandra credentials
##
external:
hosts: []
port: 9042
user: ""
password: ""
existingSecret: ""
existingSecretPasswordKey: ""
## Cassandra pods' resource requests and limits
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
## Minimum memory for development is 4GB and 2 CPU cores
## Minimum memory for production is 8GB and 4 CPU cores
## ref: http://docs.datastax.com/en/archived/cassandra/2.0/cassandra/architecture/architecturePlanningHardware_c.html
##
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## @param cassandra.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).