Extend K8S and RIC installation instructions
[it/dep.git] / ric-infra / 30-Kong / helm / kong / charts / kong / ci / default-values.yaml
1 ################################################################################
2 #   Copyright (c) 2019 AT&T Intellectual Property.                             #
3 #                                                                              #
4 #   Licensed under the Apache License, Version 2.0 (the "License");            #
5 #   you may not use this file except in compliance with the License.           #
6 #   You may obtain a copy of the License at                                    #
7 #                                                                              #
8 #       http://www.apache.org/licenses/LICENSE-2.0                             #
9 #                                                                              #
10 #   Unless required by applicable law or agreed to in writing, software        #
11 #   distributed under the License is distributed on an "AS IS" BASIS,          #
12 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
13 #   See the License for the specific language governing permissions and        #
14 #   limitations under the License.                                             #
15 ################################################################################
16
17 # Default values for kong.
18 # Declare variables to be passed into your templates.
19
20 image:
21   repository: kong
22   # repository: kong-docker-kong-enterprise-edition-docker.bintray.io/kong-enterprise-edition
23   tag: 1.3
24   pullPolicy: IfNotPresent
25   ## Optionally specify an array of imagePullSecrets.
26   ## Secrets must be manually created in the namespace.
27   ## If using the official Kong Enterprise registry above, you MUST provide a secret.
28   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
29   ##
30   # pullSecrets:
31   #   - myRegistrKeySecretName
32
33 waitImage:
34   repository: busybox
35   tag: latest
36
37 # Specify Kong admin and proxy services configurations
38 admin:
39   # If you want to specify annotations for the admin service, uncomment the following
40   # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
41   annotations: {}
42   #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
43
44   # HTTPS traffic on the admin port
45   # if set to false also set readinessProbe and livenessProbe httpGet scheme's to 'HTTP'
46   useTLS: true
47   servicePort: 8444
48   containerPort: 8444
49   # Kong admin service type
50   type: NodePort
51   # Set a nodePort which is available
52   # nodePort: 32444
53   # Kong admin ingress settings.
54   ingress:
55     # Enable/disable exposure using ingress.
56     enabled: false
57     # TLS secret name.
58     # tls: kong-admin.example.com-tls
59     # Array of ingress hosts.
60     hosts: []
61     # Map of ingress annotations.
62     annotations: {}
63     # Ingress path.
64     path: /
65
66 proxy:
67   # If you want to specify annotations for the proxy service, uncomment the following
68   # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
69   annotations: {}
70   #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
71
72   # HTTP plain-text traffic
73   http:
74     enabled: true
75     servicePort: 80
76     containerPort: 8000
77     # Set a nodePort which is available if service type is NodePort
78     # nodePort: 32080
79
80   tls:
81     enabled: true
82     servicePort: 443
83     containerPort: 8443
84     # Set a nodePort which is available if service type is NodePort
85     # nodePort: 32443
86
87   type: NodePort
88
89   # Kong proxy ingress settings.
90   ingress:
91     # Enable/disable exposure using ingress.
92     enabled: false
93     # TLS secret name.
94     # tls: kong-proxy.example.com-tls
95     # Array of ingress hosts.
96     hosts: []
97     # Map of ingress annotations.
98     annotations: {}
99     # Ingress path.
100     path: /
101
102   externalIPs: []
103
104 manager:
105   # If you want to specify annotations for the Manager service, uncomment the following
106   # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
107   annotations: {}
108   #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
109
110   # HTTP plain-text traffic
111   http:
112     enabled: true
113     servicePort: 8002
114     containerPort: 8002
115     # Set a nodePort which is available if service type is NodePort
116     # nodePort: 32080
117
118   tls:
119     enabled: true
120     servicePort: 8445
121     containerPort: 8445
122     # Set a nodePort which is available if service type is NodePort
123     # nodePort: 32443
124
125   type: NodePort
126
127   # Kong proxy ingress settings.
128   ingress:
129     # Enable/disable exposure using ingress.
130     enabled: false
131     # TLS secret name.
132     # tls: kong-proxy.example.com-tls
133     # Array of ingress hosts.
134     hosts: []
135     # Map of ingress annotations.
136     annotations: {}
137     # Ingress path.
138     path: /
139
140   externalIPs: []
141
142 portal:
143   # If you want to specify annotations for the Portal service, uncomment the following
144   # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
145   annotations: {}
146   #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
147
148   # HTTP plain-text traffic
149   http:
150     enabled: true
151     servicePort: 8003
152     containerPort: 8003
153     # Set a nodePort which is available if service type is NodePort
154     # nodePort: 32080
155
156   tls:
157     enabled: true
158     servicePort: 8446
159     containerPort: 8446
160     # Set a nodePort which is available if service type is NodePort
161     # nodePort: 32443
162
163   type: NodePort
164
165   # Kong proxy ingress settings.
166   ingress:
167     # Enable/disable exposure using ingress.
168     enabled: false
169     # TLS secret name.
170     # tls: kong-proxy.example.com-tls
171     # Array of ingress hosts.
172     hosts: []
173     # Map of ingress annotations.
174     annotations: {}
175     # Ingress path.
176     path: /
177
178   externalIPs: []
179
180 portalapi:
181   # If you want to specify annotations for the Portal API service, uncomment the following
182   # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
183   annotations: {}
184   #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
185
186   # HTTP plain-text traffic
187   http:
188     enabled: true
189     servicePort: 8004
190     containerPort: 8004
191     # Set a nodePort which is available if service type is NodePort
192     # nodePort: 32080
193
194   tls:
195     enabled: true
196     servicePort: 8447
197     containerPort: 8447
198     # Set a nodePort which is available if service type is NodePort
199     # nodePort: 32443
200
201   type: NodePort
202
203   # Kong proxy ingress settings.
204   ingress:
205     # Enable/disable exposure using ingress.
206     enabled: false
207     # TLS secret name.
208     # tls: kong-proxy.example.com-tls
209     # Array of ingress hosts.
210     hosts: []
211     # Map of ingress annotations.
212     annotations: {}
213     # Ingress path.
214     path: /
215
216   externalIPs: []
217
218 # Toggle Kong Enterprise features on or off
219 # RBAC and SMTP configuration have additional options that must all be set together
220 # Other settings should be added to the "env" settings below
221 enterprise:
222   enabled: false
223   # Kong Enterprise license secret name
224   # This secret must contain a single 'license' key, containing your base64-encoded license data
225   # The license secret is required for all Kong Enterprise deployments
226   license_secret: you-must-create-a-kong-license-secret
227   # Session configuration secret
228   # The session conf secret is required if using RBAC or the Portal
229   vitals:
230     enabled: true
231   portal:
232     enabled: false
233     # portal_auth here sets the default authentication mechanism for the Portal
234     # FIXME This can be changed per-workspace, but must currently default to
235     # basic-auth to work around limitations with session configuration
236     portal_auth: basic-auth
237     # If the Portal is enabled and any workspace's Portal uses authentication,
238     # this Secret must contain an portal_session_conf key
239     # The key value must be a secret configuration, following the example at https://docs.konghq.com/enterprise/0.35-x/kong-manager/authentication/sessions/
240     session_conf_secret: you-must-create-a-portal-session-conf-secret
241   rbac:
242     enabled: false
243     admin_gui_auth: basic-auth
244     # If RBAC is enabled, this Secret must contain an admin_gui_session_conf key
245     # The key value must be a secret configuration, following the example at https://docs.konghq.com/enterprise/0.35-x/kong-manager/authentication/sessions/
246     session_conf_secret: you-must-create-an-rbac-session-conf-secret
247     # Set to the appropriate plugin config JSON if not using basic-auth
248     admin_gui_auth_conf: {}
249   smtp:
250     enabled: false
251     portal_emails_from: none@example.com
252     portal_emails_reply_to: none@example.com
253     admin_emails_from: none@example.com
254     admin_emails_reply_to: none@example.com
255     smtp_admin_emails: none@example.com
256     smtp_host: smtp.example.com
257     smtp_port: 587
258     smtp_starttls: true
259     auth:
260       # If your SMTP server does not require authentication, this section can
261       # be left as-is. If smtp_username is set to anything other than an empty
262       # string, you must create a Secret with an smtp_password key containing
263       # your SMTP password and specify its name here.
264       smtp_username: ''  # e.g. postmaster@example.com
265       smtp_password_secret: you-must-create-an-smtp-password
266
267 # Set runMigrations to run Kong migrations
268 runMigrations: true
269
270 # update strategy
271 updateStrategy: {}
272   # type: RollingUpdate
273   # rollingUpdate:
274   #   maxSurge: "100%"
275   #   maxUnavailable: "0%"
276
277 # Specify Kong configurations
278 # Kong configurations guide https://getkong.org/docs/latest/configuration/
279 # Values here take precedence over values from other sections of values.yaml,
280 # e.g. setting pg_user here will override the value normally set when postgresql.enabled
281 # is set below. In general, you should not set values here if they are set elsewhere.
282 env:
283   database: postgres
284   proxy_access_log: /dev/stdout
285   admin_access_log: /dev/stdout
286   admin_gui_access_log: /dev/stdout
287   portal_api_access_log: /dev/stdout
288   proxy_error_log: /dev/stderr
289   admin_error_log: /dev/stderr
290   admin_gui_error_log: /dev/stderr
291   portal_api_error_log: /dev/stderr
292
293 # If you want to specify resources, uncomment the following
294 # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
295 resources: {}
296   # limits:
297   #  cpu: 100m
298   #  memory: 128Mi
299   # requests:
300   #  cpu: 100m
301   #  memory: 128Mi
302
303 # readinessProbe for Kong pods
304 # If using Kong Enterprise with RBAC, you must add a Kong-Admin-Token header
305 readinessProbe:
306   httpGet:
307     path: "/status"
308     port: admin
309     scheme: HTTPS
310   initialDelaySeconds: 30
311   timeoutSeconds: 1
312   periodSeconds: 10
313   successThreshold: 1
314   failureThreshold: 5
315
316 # livenessProbe for Kong pods
317 # If using Kong Enterprise with RBAC, you must add a Kong-Admin-Token header
318 livenessProbe:
319   httpGet:
320     path: "/status"
321     port: admin
322     scheme: HTTPS
323   initialDelaySeconds: 30
324   timeoutSeconds: 5
325   periodSeconds: 30
326   successThreshold: 1
327   failureThreshold: 5
328
329 # Affinity for pod assignment
330 # Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
331 # affinity: {}
332
333 # Tolerations for pod assignment
334 # Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
335 tolerations: []
336
337 # Node labels for pod assignment
338 # Ref: https://kubernetes.io/docs/user-guide/node-selection/
339 nodeSelector: {}
340
341 # Annotation to be added to Kong pods
342 podAnnotations: {}
343
344 # Kong pod count
345 replicaCount: 1
346
347 # Kong Pod Disruption Budget
348 podDisruptionBudget:
349   enabled: false
350   maxUnavailable: "50%"
351
352 # Kong has a choice of either Postgres or Cassandra as a backend datatstore.
353 # This chart allows you to choose either of them with the `database.type`
354 # parameter.  Postgres is chosen by default.
355
356 # Additionally, this chart allows you to use your own database or spin up a new
357 # instance by using the `postgres.enabled` or `cassandra.enabled` parameters.
358 # Enabling both will create both databases in your cluster, but only one
359 # will be used by Kong based on the `env.database` parameter.
360 # Postgres is enabled by default.
361
362 # Cassandra chart configs
363 cassandra:
364   enabled: false
365
366 # PostgreSQL chart configs
367 postgresql:
368   enabled: true
369   postgresqlUsername: kong
370   postgresqlDatabase: kong
371   service:
372     port: 5432
373
374 # Kong Ingress Controller's primary purpose is to satisfy Ingress resources
375 # created in k8s.  It uses CRDs for more fine grained control over routing and
376 # for Kong specific configuration.
377 ingressController:
378   enabled: false
379   image:
380     repository: kong-docker-kubernetes-ingress-controller.bintray.io/kong-ingress-controller
381     tag: 0.5.0
382   replicaCount: 1
383   livenessProbe:
384     failureThreshold: 3
385     httpGet:
386       path: "/healthz"
387       port: 10254
388       scheme: HTTP
389     initialDelaySeconds: 30
390     periodSeconds: 10
391     successThreshold: 1
392     timeoutSeconds: 5
393   readinessProbe:
394     failureThreshold: 3
395     httpGet:
396       path: "/healthz"
397       port: 10254
398       scheme: HTTP
399       initialDelaySeconds: 30
400     periodSeconds: 10
401     successThreshold: 1
402     timeoutSeconds: 5
403
404   installCRDs: true
405
406   rbac:
407     # Specifies whether RBAC resources should be created
408     create: true
409
410   serviceAccount:
411     # Specifies whether a ServiceAccount should be created
412     create: true
413     # The name of the ServiceAccount to use.
414     # If not set and create is true, a name is generated using the fullname template
415     name:
416
417   ingressClass: kong
418
419   podDisruptionBudget:
420     enabled: false
421     maxUnavailable: "50%"
422
423 # We pass the dbless (declarative) config over here.
424 dblessConfig:
425   # Either Kong's configuration is managed from an existing ConfigMap (with Key: kong.yml)
426   configMap: ""
427   # Or the configuration is passed in full-text below
428   config:
429     _format_version: "1.1"
430     services:
431       # Example configuration
432       # - name: example.com
433       #   url: http://example.com
434       #   routes:
435       #   - name: example
436       #     paths:
437       #     - "/example"
438
439 serviceMonitor:
440   # Specifies whether ServiceMonitor for Prometheus operator should be created
441   enabled: false
442   # interval: 10s
443   # Specifies namespace, where ServiceMonitor should be installed
444   # namespace: monitoring