Update Kong ingress controller to version 1.4. It fixes the occasional 404 error.
[ric-plt/ric-dep.git] / helm / infrastructure / subcharts / kong / values.yaml
1 # Default values for Kong's Helm Chart.
2 # Declare variables to be passed into your templates.
3 #
4 # Sections:
5 # - Kong parameters
6 # - Ingress Controller parameters
7 # - Postgres sub-chart parameters
8 # - Miscellaneous parameters
9 # - Kong Enterprise parameters
10
11 # -----------------------------------------------------------------------------
12 # Kong parameters
13 # -----------------------------------------------------------------------------
14
15 # Specify Kong configurations
16 # Kong configurations guide https://docs.konghq.com/latest/configuration
17 # Values here take precedence over values from other sections of values.yaml,
18 # e.g. setting pg_user here will override the value normally set when postgresql.enabled
19 # is set below. In general, you should not set values here if they are set elsewhere.
20 env:
21   database: "off"
22   nginx_worker_processes: "1"
23   proxy_access_log: /dev/stdout
24   admin_access_log: /dev/stdout
25   admin_gui_access_log: /dev/stdout
26   portal_api_access_log: /dev/stdout
27   proxy_error_log: /dev/stderr
28   admin_error_log: /dev/stderr
29   admin_gui_error_log: /dev/stderr
30   portal_api_error_log: /dev/stderr
31   prefix: /kong_prefix/
32
33 # Specify Kong's Docker image and repository details here
34 image:
35   repository: kong
36   # repository: kong-docker-kong-enterprise-k8s.bintray.io/kong-enterprise-k8s
37   # repository: kong-docker-kong-enterprise-edition-docker.bintray.io/kong-enterprise-edition
38   tag: 1.4
39   pullPolicy: IfNotPresent
40   ## Optionally specify an array of imagePullSecrets.
41   ## Secrets must be manually created in the namespace.
42   ## If using the official Kong Enterprise registry above, you MUST provide a secret.
43   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
44   ##
45   # pullSecrets:
46   #   - myRegistrKeySecretName
47
48 # Specify Kong admin service configuration
49 # Note: It is recommended to not use the Admin API to configure Kong
50 # when using Kong as an Ingress Controller.
51 admin:
52   enabled: false
53   # If you want to specify annotations for the admin service, uncomment the following
54   # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
55   annotations: {}
56   #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
57
58   # HTTPS traffic on the admin port
59   # if set to false also set readinessProbe and livenessProbe httpGet scheme's to 'HTTP'
60   useTLS: true
61   servicePort: 8444
62   containerPort: 8444
63   # Kong admin service type
64   type: NodePort
65   # Set a nodePort which is available
66   # nodePort: 32444
67   # Kong admin ingress settings. Useful if you want to expose the Admin
68   # API of Kong outside the k8s cluster.
69   ingress:
70     # Enable/disable exposure using ingress.
71     enabled: false
72     # TLS secret name.
73     # tls: kong-admin.example.com-tls
74     # Ingress hostname
75     hostname:
76     # Map of ingress annotations.
77     annotations: {}
78     # Ingress path.
79     path: /
80
81 # Specify Kong proxy service configuration
82 proxy:
83   # If you want to specify annotations for the proxy service, uncomment the following
84   # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
85   annotations: {}
86   #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
87
88   # HTTP plain-text traffic
89   http:
90     enabled: true
91     servicePort: 80
92     containerPort: 8000
93     # Set a nodePort which is available if service type is NodePort
94     nodePort: 32080
95
96   tls:
97     enabled: true
98     servicePort: 443
99     containerPort: 8443
100     # Set a target port for the TLS port in proxy service, useful when using TLS
101     # termination on an ELB.
102     # overrideServiceTargetPort: 8000
103     # Set a nodePort which is available if service type is NodePort
104     nodePort: 32443
105
106   type: NodePort
107
108   # Kong proxy ingress settings.
109   # Note: You need this only if you are using another Ingress Controller
110   # to expose Kong outside the k8s cluster.
111   ingress:
112     # Enable/disable exposure using ingress.
113     enabled: false
114     hosts: []
115     # TLS section. Unlike other ingresses, this follows the format at
116     # https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
117     # tls:
118     # - hosts:
119     #   - 1.example.com
120     #   secretName: example1-com-tls-secret
121     # - hosts:
122     #   - 2.example.net
123     #   secretName: example2-net-tls-secret
124     # Map of ingress annotations.
125     annotations: {}
126     # Ingress path.
127     path: /
128
129   externalIPs: []
130
131 # Custom Kong plugins can be loaded into Kong by mounting the plugin code
132 # into the file-system of Kong container.
133 # The plugin code should be present in ConfigMap or Secret inside the same
134 # namespace as Kong is being installed.
135 # The `name` property refers to the name of the ConfigMap or Secret
136 # itself, while the pluginName refers to the name of the plugin as it appears
137 # in Kong.
138 plugins: {}
139   # configMaps:
140   # - pluginName: rewriter
141   #   name: kong-plugin-rewriter
142   # secrets:
143   # - pluginName: rewriter
144   #   name: kong-plugin-rewriter
145 # Inject specified secrets as a volume in Kong Container at path /etc/secrets/{secret-name}/
146 # This can be used to override default SSL certificates
147 # Example configuration
148 # secretVolumes:
149 # - kong-proxy-tls
150 # - kong-admin-tls
151 secretVolumes: []
152
153 # Set runMigrations to run Kong migrations
154 runMigrations: true
155
156 # Kong's configuration for DB-less mode
157 # Note: Use this section only if you are deploying Kong in DB-less mode
158 # and not as an Ingress Controller.
159 dblessConfig:
160   # Either Kong's configuration is managed from an existing ConfigMap (with Key: kong.yml)
161   configMap: ""
162   # Or the configuration is passed in full-text below
163   config:
164     _format_version: "1.1"
165     services:
166       # Example configuration
167       # - name: example.com
168       #   url: http://example.com
169       #   routes:
170       #   - name: example
171       #     paths:
172       #     - "/example"
173
174 # -----------------------------------------------------------------------------
175 # Ingress Controller parameters
176 # -----------------------------------------------------------------------------
177
178 # Kong Ingress Controller's primary purpose is to satisfy Ingress resources
179 # created in k8s.  It uses CRDs for more fine grained control over routing and
180 # for Kong specific configuration.
181 ingressController:
182   enabled: true
183   image:
184     repository: kong-docker-kubernetes-ingress-controller.bintray.io/kong-ingress-controller
185     tag: 0.7.0
186
187   # Specify Kong Ingress Controller configuration via environment variables
188   env: {}
189
190   admissionWebhook:
191     enabled: false
192     failurePolicy: Fail
193     port: 8080
194
195   ingressClass: kong
196
197   rbac:
198     # Specifies whether RBAC resources should be created
199     create: true
200
201   serviceAccount:
202     # Specifies whether a ServiceAccount should be created
203     create: true
204     # The name of the ServiceAccount to use.
205     # If not set and create is true, a name is generated using the fullname template
206     name:
207
208   installCRDs: true
209
210   # general properties
211   livenessProbe:
212     httpGet:
213       path: "/healthz"
214       port: 10254
215       scheme: HTTP
216     initialDelaySeconds: 5
217     timeoutSeconds: 5
218     periodSeconds: 10
219     successThreshold: 1
220     failureThreshold: 3
221   readinessProbe:
222     httpGet:
223       path: "/healthz"
224       port: 10254
225       scheme: HTTP
226     initialDelaySeconds: 5
227     timeoutSeconds: 5
228     periodSeconds: 10
229     successThreshold: 1
230     failureThreshold: 3
231   resources: {}
232
233 # -----------------------------------------------------------------------------
234 # Postgres sub-chart parameters
235 # -----------------------------------------------------------------------------
236
237 # Kong can run without a database or use either Postgres or Cassandra
238 # as a backend datatstore for it's configuration.
239 # By default, this chart installs Kong without a database.
240
241 # If you would like to use a database, there are two options:
242 # - (recommended) Deploy and maintain a database and pass the connection
243 #   details to Kong via the `env` section.
244 # - You can use the below `postgresql` sub-chart to deploy a database
245 #   along-with Kong as part of a single Helm release.
246
247 # PostgreSQL chart documentation:
248 # https://github.com/helm/charts/blob/master/stable/postgresql/README.md
249
250 postgresql:
251   enabled: false
252   # postgresqlUsername: kong
253   # postgresqlDatabase: kong
254   # service:
255   #   port: 5432
256
257 # -----------------------------------------------------------------------------
258 # Miscellaneous parameters
259 # -----------------------------------------------------------------------------
260
261 waitImage:
262   repository: busybox
263   tag: latest
264   pullPolicy: IfNotPresent
265
266 # update strategy
267 updateStrategy: {}
268   # type: RollingUpdate
269   # rollingUpdate:
270   #   maxSurge: "100%"
271   #   maxUnavailable: "0%"
272
273 # If you want to specify resources, uncomment the following
274 # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
275 resources: {}
276   # limits:
277   #  cpu: 100m
278   #  memory: 128Mi
279   # requests:
280   #  cpu: 100m
281   #  memory: 128Mi
282
283 # readinessProbe for Kong pods
284 # If using Kong Enterprise with RBAC, you must add a Kong-Admin-Token header
285 readinessProbe:
286   httpGet:
287     path: "/status"
288     port: metrics
289     scheme: HTTP
290   initialDelaySeconds: 5
291   timeoutSeconds: 5
292   periodSeconds: 10
293   successThreshold: 1
294   failureThreshold: 3
295
296 # livenessProbe for Kong pods
297 livenessProbe:
298   httpGet:
299     path: "/status"
300     port: metrics
301     scheme: HTTP
302   initialDelaySeconds: 5
303   timeoutSeconds: 5
304   periodSeconds: 10
305   successThreshold: 1
306   failureThreshold: 3
307
308 # Affinity for pod assignment
309 # Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
310 # affinity: {}
311
312 # Tolerations for pod assignment
313 # Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
314 tolerations: []
315
316 # Node labels for pod assignment
317 # Ref: https://kubernetes.io/docs/user-guide/node-selection/
318 nodeSelector: {}
319
320 # Annotation to be added to Kong pods
321 podAnnotations: {}
322
323 # Kong pod count
324 replicaCount: 1
325
326 # Kong Pod Disruption Budget
327 podDisruptionBudget:
328   enabled: false
329   maxUnavailable: "50%"
330
331 podSecurityPolicy:
332   enabled: false
333
334 # securityContext for Kong pods.
335 securityContext:
336   runAsUser: 1000
337
338 serviceMonitor:
339   # Specifies whether ServiceMonitor for Prometheus operator should be created
340   enabled: false
341   # interval: 10s
342   # Specifies namespace, where ServiceMonitor should be installed
343   # namespace: monitoring
344   # labels:
345   #   foo: bar
346
347 # -----------------------------------------------------------------------------
348 # Kong Enterprise parameters
349 # -----------------------------------------------------------------------------
350
351 # Toggle Kong Enterprise features on or off
352 # RBAC and SMTP configuration have additional options that must all be set together
353 # Other settings should be added to the "env" settings below
354 enterprise:
355   enabled: false
356   # Kong Enterprise license secret name
357   # This secret must contain a single 'license' key, containing your base64-encoded license data
358   # The license secret is required for all Kong Enterprise deployments
359   license_secret: you-must-create-a-kong-license-secret
360   # Session configuration secret
361   # The session conf secret is required if using RBAC or the Portal
362   vitals:
363     enabled: true
364   portal:
365     enabled: false
366     # portal_auth here sets the default authentication mechanism for the Portal
367     # FIXME This can be changed per-workspace, but must currently default to
368     # basic-auth to work around limitations with session configuration
369     portal_auth: basic-auth
370     # If the Portal is enabled and any workspace's Portal uses authentication,
371     # this Secret must contain an portal_session_conf key
372     # The key value must be a secret configuration, following the example at
373     # https://docs.konghq.com/enterprise/latest/developer-portal/configuration/authentication/sessions
374     session_conf_secret: you-must-create-a-portal-session-conf-secret
375   rbac:
376     enabled: false
377     admin_gui_auth: basic-auth
378     # If RBAC is enabled, this Secret must contain an admin_gui_session_conf key
379     # The key value must be a secret configuration, following the example at
380     # https://docs.konghq.com/enterprise/latest/kong-manager/authentication/sessions
381     session_conf_secret: you-must-create-an-rbac-session-conf-secret
382     # If admin_gui_auth is not set to basic-auth, provide a secret name which
383     # has an admin_gui_auth_conf key containing the plugin config JSON
384     admin_gui_auth_conf_secret: you-must-create-an-admin-gui-auth-conf-secret
385   # For configuring emails and SMTP, please read through:
386   # https://docs.konghq.com/enterprise/latest/developer-portal/configuration/smtp
387   # https://docs.konghq.com/enterprise/latest/kong-manager/networking/email
388   smtp:
389     enabled: false
390     portal_emails_from: none@example.com
391     portal_emails_reply_to: none@example.com
392     admin_emails_from: none@example.com
393     admin_emails_reply_to: none@example.com
394     smtp_admin_emails: none@example.com
395     smtp_host: smtp.example.com
396     smtp_port: 587
397     smtp_starttls: true
398     auth:
399       # If your SMTP server does not require authentication, this section can
400       # be left as-is. If smtp_username is set to anything other than an empty
401       # string, you must create a Secret with an smtp_password key containing
402       # your SMTP password and specify its name here.
403       smtp_username: ''  # e.g. postmaster@example.com
404       smtp_password_secret: you-must-create-an-smtp-password
405
406 manager:
407   # If you want to specify annotations for the Manager service, uncomment the following
408   # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
409   annotations: {}
410   #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
411
412   # HTTP plain-text traffic
413   http:
414     enabled: true
415     servicePort: 8002
416     containerPort: 8002
417     # Set a nodePort which is available if service type is NodePort
418     # nodePort: 32080
419
420   tls:
421     enabled: true
422     servicePort: 8445
423     containerPort: 8445
424     # Set a nodePort which is available if service type is NodePort
425     # nodePort: 32443
426
427   type: NodePort
428
429   # Kong proxy ingress settings.
430   ingress:
431     # Enable/disable exposure using ingress.
432     enabled: false
433     # TLS secret name.
434     # tls: kong-proxy.example.com-tls
435     # Ingress hostname
436     hostname:
437     # Map of ingress annotations.
438     annotations: {}
439     # Ingress path.
440     path: /
441
442   externalIPs: []
443
444 portal:
445   # If you want to specify annotations for the Portal service, uncomment the following
446   # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
447   annotations: {}
448   #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
449
450   # HTTP plain-text traffic
451   http:
452     enabled: true
453     servicePort: 8003
454     containerPort: 8003
455     # Set a nodePort which is available if service type is NodePort
456     # nodePort: 32080
457
458   tls:
459     enabled: true
460     servicePort: 8446
461     containerPort: 8446
462     # Set a nodePort which is available if service type is NodePort
463     # nodePort: 32443
464
465   type: NodePort
466
467   # Kong proxy ingress settings.
468   ingress:
469     # Enable/disable exposure using ingress.
470     enabled: false
471     # TLS secret name.
472     # tls: kong-proxy.example.com-tls
473     # Ingress hostname
474     hostname:
475     # Map of ingress annotations.
476     annotations: {}
477     # Ingress path.
478     path: /
479
480   externalIPs: []
481
482 portalapi:
483   # If you want to specify annotations for the Portal API service, uncomment the following
484   # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
485   annotations: {}
486   #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
487
488   # HTTP plain-text traffic
489   http:
490     enabled: true
491     servicePort: 8004
492     containerPort: 8004
493     # Set a nodePort which is available if service type is NodePort
494     # nodePort: 32080
495
496   tls:
497     enabled: true
498     servicePort: 8447
499     containerPort: 8447
500     # Set a nodePort which is available if service type is NodePort
501     # nodePort: 32443
502
503   type: NodePort
504
505   # Kong proxy ingress settings.
506   ingress:
507     # Enable/disable exposure using ingress.
508     enabled: false
509     # TLS secret name.
510     # tls: kong-proxy.example.com-tls
511     # Ingress hostname
512     hostname:
513     # Map of ingress annotations.
514     annotations: {}
515     # Ingress path.
516     path: /
517
518   externalIPs: []