[bitnami/contour] Envoy: add support for kind Deployment (#7293)

* [bitnami/contour] Envoy: add support for kind Deployment

Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
Co-authored-by: Juan Ariza Toledano <juanariza@vmware.com>

* Update values.yaml according to metadata standard

Signed-off-by: juan131 <juanariza@vmware.com>

* Include validations in NOTES.txt

Signed-off-by: juan131 <juanariza@vmware.com>

* Bump chart version

Signed-off-by: juan131 <juanariza@vmware.com>

* Fix validations

* [bitnami/contour] Update components versions

Signed-off-by: Bitnami Containers <containers@bitnami.com>

Co-authored-by: Juan Ariza Toledano <juanariza@vmware.com>
Co-authored-by: Bitnami Containers <containers@bitnami.com>
This commit is contained in:
Timofey Titovets
2021-08-25 11:03:06 +03:00
committed by GitHub
parent af5931b9fe
commit a561f35d44
10 changed files with 499 additions and 203 deletions

View File

@@ -27,4 +27,4 @@ sources:
- https://github.com/envoyproxy/envoy
- https://github.com/bitnami/bitnami-docker-contour
- https://projectcontour.io
version: 5.2.0
version: 5.3.0

View File

@@ -66,76 +66,73 @@ $ helm uninstall my-release
| `fullnameOverride` | String to fully override contour.fullname template | `""` |
| `ingress.apiVersion` | Force Ingress API version (automatically detected if not set) | `""` |
| `kubeVersion` | Force target Kubernetes version (using Helm capabilities if not set) | `""` |
| `extraDeploy` | Array of extra objects to deploy with the release | `[]` |
### Contour parameters
| Name | Description | Value |
| ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| `replicaCount` | Number of Contour Pod replicas | `2` |
| `existingConfigMap` | Specifies the name of an externally-defined ConfigMap to use as the configuration (this is mutually exclusive with `configInline`) | `""` |
| `configInline.disablePermitInsecure` | Disable ingressroute permitInsecure field | `false` |
| `configInline.tls.fallback-certificate` | Defines the name/namespace matching a secret to use as the fallback certificate | `{}` |
| `configInline.leaderelection.configmap-namespace` | This needs to be edited by when you deploy to a namespace other than `projectcontour` | `{{ .Release.Namespace }}` |
| `configInline.envoy-service-name` | Envoy service name | `{{ include "common.names.fullname" . }}-envoy` |
| `configInline.accesslog-format` | Access log format | `envoy` |
| `contour.enabled` | Contour Deployment creation. | `true` |
| `contour.image.registry` | Contour image registry | `docker.io` |
| `contour.image.repository` | Contour image name | `bitnami/contour` |
| `contour.image.tag` | Contour image tag | `1.18.0-debian-10-r27` |
| `contour.image.pullPolicy` | Contour Image pull policy | `IfNotPresent` |
| `contour.image.pullSecrets` | Contour Image pull secrets | `[]` |
| `contour.hostAliases` | Add deployment host aliases | `[]` |
| `contour.extraArgs` | Extra arguments passed to Contour container | `[]` |
| `contour.resources.limits` | Specify resource limits which the container is not allowed to succeed. | `{}` |
| `contour.resources.requests` | Specify resource requests which the container needs to spawn. | `{}` |
| `contour.manageCRDs` | Manage the creation, upgrade and deletion of Contour CRDs. | `true` |
| `contour.podAffinityPreset` | Contour Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `contour.podAntiAffinityPreset` | Contour Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `contour.nodeAffinityPreset.type` | Contour Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `contour.nodeAffinityPreset.key` | Contour Node label key to match Ignored if `affinity` is set. | `""` |
| `contour.nodeAffinityPreset.values` | Contour Node label values to match. Ignored if `affinity` is set. | `[]` |
| `contour.affinity` | Affinity for Contour pod assignment | `{}` |
| `contour.nodeSelector` | Node labels for Contour pod assignment | `{}` |
| `contour.tolerations` | Tolerations for Contour pod assignment | `[]` |
| `contour.podAnnotations` | Contour Pod annotations | `{}` |
| `contour.serviceAccount.create` | Create a serviceAccount for the Contour pod | `true` |
| `contour.serviceAccount.name` | Use the serviceAccount with the specified name, a name is generated using the fullname template | `""` |
| `contour.livenessProbe.enabled` | Enable/disable the Liveness probe | `true` |
| `contour.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `120` |
| `contour.livenessProbe.periodSeconds` | How often to perform the probe | `20` |
| `contour.livenessProbe.timeoutSeconds` | When the probe times out | `5` |
| `contour.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | `6` |
| `contour.livenessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | `1` |
| `contour.readinessProbe.enabled` | Enable/disable the readiness probe | `true` |
| `contour.readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `15` |
| `contour.readinessProbe.periodSeconds` | How often to perform the probe | `10` |
| `contour.readinessProbe.timeoutSeconds` | When the probe times out | `5` |
| `contour.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | `3` |
| `contour.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | `1` |
| `contour.securityContext.enabled` | If the pod should run in a securityContext. | `true` |
| `contour.securityContext.runAsNonRoot` | If the pod should run as a non root container. | `true` |
| `contour.securityContext.runAsUser` | define the uid with which the pod will run | `1001` |
| `contour.securityContext.runAsGroup` | define the gid with which the pod will run | `1001` |
| `contour.certgen.serviceAccount.create` | Create a serviceAccount for the Contour pod | `true` |
| `contour.certgen.serviceAccount.name` | Use the serviceAccount with the specified name, a name is generated using the fullname template | `""` |
| `contour.tlsExistingSecret` | Name of the existingSecret to be use in Contour deployment. If it is not nil `contour.certgen` will be disabled. | `""` |
| `contour.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
| `contour.initContainers` | Attach additional init containers to Contour pods | `[]` |
| `contour.sidecars` | Add additional sidecar containers to the Contour pods | `[]` |
| `contour.extraVolumes` | Array to add extra volumes | `[]` |
| `contour.extraVolumeMounts` | Array to add extra mounts (normally used with extraVolumes) | `[]` |
| `contour.extraEnvVars` | Array containing extra env vars to be added to all Contour containers | `[]` |
| `contour.extraEnvVarsConfigMap` | ConfigMap containing extra env vars to be added to all Contour containers | `""` |
| `contour.extraEnvVarsSecret` | Secret containing extra env vars to be added to all Contour containers | `""` |
| `contour.ingressClass` | Name of the ingress class to route through this controller | `contour` |
| Name | Description | Value |
| -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| `replicaCount` | Number of Contour Pod replicas | `2` |
| `existingConfigMap` | Specifies the name of an externally-defined ConfigMap to use as the configuration (this is mutually exclusive with `configInline`) | `""` |
| `configInline` | Specifies Contour's configuration directly in YAML format | `{}` |
| `contour.enabled` | Contour Deployment creation. | `true` |
| `contour.image.registry` | Contour image registry | `docker.io` |
| `contour.image.repository` | Contour image name | `bitnami/contour` |
| `contour.image.tag` | Contour image tag | `1.18.0-debian-10-r27` |
| `contour.image.pullPolicy` | Contour Image pull policy | `IfNotPresent` |
| `contour.image.pullSecrets` | Contour Image pull secrets | `[]` |
| `contour.hostAliases` | Add deployment host aliases | `[]` |
| `contour.extraArgs` | Extra arguments passed to Contour container | `[]` |
| `contour.resources.limits` | Specify resource limits which the container is not allowed to succeed. | `{}` |
| `contour.resources.requests` | Specify resource requests which the container needs to spawn. | `{}` |
| `contour.manageCRDs` | Manage the creation, upgrade and deletion of Contour CRDs. | `true` |
| `contour.podAffinityPreset` | Contour Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `contour.podAntiAffinityPreset` | Contour Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `contour.nodeAffinityPreset.type` | Contour Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `contour.nodeAffinityPreset.key` | Contour Node label key to match Ignored if `affinity` is set. | `""` |
| `contour.nodeAffinityPreset.values` | Contour Node label values to match. Ignored if `affinity` is set. | `[]` |
| `contour.affinity` | Affinity for Contour pod assignment | `{}` |
| `contour.nodeSelector` | Node labels for Contour pod assignment | `{}` |
| `contour.tolerations` | Tolerations for Contour pod assignment | `[]` |
| `contour.podAnnotations` | Contour Pod annotations | `{}` |
| `contour.serviceAccount.create` | Create a serviceAccount for the Contour pod | `true` |
| `contour.serviceAccount.name` | Use the serviceAccount with the specified name, a name is generated using the fullname template | `""` |
| `contour.livenessProbe.enabled` | Enable/disable the Liveness probe | `true` |
| `contour.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `120` |
| `contour.livenessProbe.periodSeconds` | How often to perform the probe | `20` |
| `contour.livenessProbe.timeoutSeconds` | When the probe times out | `5` |
| `contour.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | `6` |
| `contour.livenessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | `1` |
| `contour.readinessProbe.enabled` | Enable/disable the readiness probe | `true` |
| `contour.readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `15` |
| `contour.readinessProbe.periodSeconds` | How often to perform the probe | `10` |
| `contour.readinessProbe.timeoutSeconds` | When the probe times out | `5` |
| `contour.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | `3` |
| `contour.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | `1` |
| `contour.securityContext.enabled` | If the pod should run in a securityContext. | `true` |
| `contour.securityContext.runAsNonRoot` | If the pod should run as a non root container. | `true` |
| `contour.securityContext.runAsUser` | define the uid with which the pod will run | `1001` |
| `contour.securityContext.runAsGroup` | define the gid with which the pod will run | `1001` |
| `contour.certgen.serviceAccount.create` | Create a serviceAccount for the Contour pod | `true` |
| `contour.certgen.serviceAccount.name` | Use the serviceAccount with the specified name, a name is generated using the fullname template | `""` |
| `contour.tlsExistingSecret` | Name of the existingSecret to be use in Contour deployment. If it is not nil `contour.certgen` will be disabled. | `""` |
| `contour.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
| `contour.initContainers` | Attach additional init containers to Contour pods | `[]` |
| `contour.sidecars` | Add additional sidecar containers to the Contour pods | `[]` |
| `contour.extraVolumes` | Array to add extra volumes | `[]` |
| `contour.extraVolumeMounts` | Array to add extra mounts (normally used with extraVolumes) | `[]` |
| `contour.extraEnvVars` | Array containing extra env vars to be added to all Contour containers | `[]` |
| `contour.extraEnvVarsConfigMap` | ConfigMap containing extra env vars to be added to all Contour containers | `""` |
| `contour.extraEnvVarsSecret` | Secret containing extra env vars to be added to all Contour containers | `""` |
| `contour.ingressClass` | Name of the ingress class to route through this controller | `contour` |
### Envoy parameters
| Name | Description | Value |
| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| `envoy.enabled` | Envoy Proxy Daemonset creation | `true` |
| `envoy.enabled` | Envoy Proxy creation | `true` |
| `envoy.image.registry` | Envoy Proxy image registry | `docker.io` |
| `envoy.image.repository` | Envoy Proxy image repository | `bitnami/envoy` |
| `envoy.image.tag` | Envoy Proxy image tag (immutable tags are recommended) | `1.19.0-debian-10-r14` |
@@ -145,6 +142,15 @@ $ helm uninstall my-release
| `envoy.hostAliases` | Add deployment host aliases | `[]` |
| `envoy.resources.limits` | Specify resource limits which the container is not allowed to succeed. | `{}` |
| `envoy.resources.requests` | Specify resource requests which the container needs to spawn. | `{}` |
| `envoy.kind` | Install as deployment or daemonset | `daemonset` |
| `envoy.replicaCount` | Desired number of Controller pods | `1` |
| `envoy.updateStrategy` | Strategy to use to update Pods | `{}` |
| `envoy.revisionHistoryLimit` | The number of old history to retain to allow rollback | `10` |
| `envoy.autoscaling.enabled` | Enable autoscaling for Controller | `false` |
| `envoy.autoscaling.minReplicas` | Minimum number of Controller replicas | `1` |
| `envoy.autoscaling.maxReplicas` | Maximum number of Controller replicas | `11` |
| `envoy.autoscaling.targetCPU` | Target CPU utilization percentage | `""` |
| `envoy.autoscaling.targetMemory` | Target Memory utilization percentage | `""` |
| `envoy.podAffinityPreset` | Envoy Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `envoy.podAntiAffinityPreset` | Envoy Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `envoy.nodeAffinityPreset.type` | Envoy Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |

View File

@@ -0,0 +1,5 @@
kind: Deployment
envoy:
service:
type: ClusterIP
externalTrafficPolicy: null

View File

@@ -29,5 +29,6 @@
2. Configure DNS records corresponding to Kubernetes ingress resources to point to the NODE_IP/NODE_HOST
{{- end }}
{{ include "common.warnings.rollingTag" .Values.contour.image }}
{{ include "common.warnings.rollingTag" .Values.envoy.image }}
{{- include "contour.validateValues" . }}
{{- include "common.warnings.rollingTag" .Values.contour.image }}
{{- include "common.warnings.rollingTag" .Values.envoy.image }}

View File

@@ -70,3 +70,26 @@ Create the name of the settings ConfigMap to use.
{{ .Values.existingConfigMap }}
{{- end -}}
{{- end -}}
{{/*
Compile all warnings into a single message, and call fail.
*/}}
{{- define "contour.validateValues" -}}
{{- $messages := list -}}
{{- $messages := append $messages (include "contour.validateValues.envoy.kind" .) -}}
{{- $messages := without $messages "" -}}
{{- $message := join "\n" $messages -}}
{{- if $message -}}
{{- printf "\nVALUES VALIDATION:\n%s" $message | fail -}}
{{- end -}}
{{- end -}}
{{/* Validate values of Contour - must provide a valid Envoy kind */}}
{{- define "contour.validateValues.envoy.kind" -}}
{{- if and .Values.envoy.enabled (ne .Values.envoy.kind "deployment") (ne .Values.envoy.kind "daemonset") -}}
contour: envoy.kind
Invalid envoy.kind selected. Valid values are "daemonset" and
"deployment". Please set a valid kind (--set envoy.kind="xxxx")
{{- end -}}
{{- end -}}

View File

@@ -1,5 +1,4 @@
{{- if .Values.envoy.enabled }}
---
{{- if and .Values.envoy.enabled (eq .Values.envoy.kind "daemonset") }}
apiVersion: apps/v1
kind: DaemonSet
metadata:

View File

@@ -0,0 +1,270 @@
{{- if and .Values.envoy.enabled (eq .Values.envoy.kind "deployment") }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ printf "%s-envoy" (include "common.names.fullname" .) | trunc 63 | trimSuffix "-" }}
namespace: {{ .Release.Namespace }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: envoy
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.envoy.autoscaling.enabled }}
replicas: {{ .Values.envoy.replicaCount }}
{{- end }}
revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
{{- if .Values.updateStrategy }}
strategy: {{- toYaml .Values.updateStrategy | nindent 4 }}
{{- end }}
selector:
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
app.kubernetes.io/component: envoy
template:
metadata:
{{- if .Values.envoy.podAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.envoy.podAnnotations "context" $) | nindent 8 }}
{{- end }}
labels: {{- include "common.labels.standard" . | nindent 8 }}
app.kubernetes.io/component: envoy
spec:
{{- include "common.images.pullSecrets" ( dict "images" (list .Values.contour.image .Values.envoy.image) "global" .Values.global) | nindent 6 }}
{{- if .Values.envoy.hostAliases }}
hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.envoy.hostAliases "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.envoy.affinity }}
affinity: {{- include "common.tplvalues.render" (dict "value" .Values.envoy.affinity "context" $) | nindent 8 }}
{{- else }}
affinity:
podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.envoy.podAffinityPreset "component" "envoy" "context" $) | nindent 10 }}
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.envoy.podAntiAffinityPreset "component" "envoy" "context" $) | nindent 10 }}
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.envoy.nodeAffinityPreset.type "key" .Values.envoy.nodeAffinityPreset.key "values" .Values.envoy.nodeAffinityPreset.values) | nindent 10 }}
{{- end }}
{{- if .Values.envoy.nodeSelector }}
nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.envoy.nodeSelector "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.envoy.tolerations}}
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.envoy.tolerations "context" $) | nindent 8 }}
{{- end }}
terminationGracePeriodSeconds: {{ .Values.envoy.terminationGracePeriodSeconds }}
hostNetwork: {{ .Values.envoy.hostNetwork }}
dnsPolicy: {{ .Values.envoy.dnsPolicy }}
{{- if .Values.envoy.podSecurityContext.enabled }}
securityContext:
fsGroup: {{ .Values.envoy.podSecurityContext.fsGroup }}
{{- if .Values.envoy.podSecurityContext.sysctls }}
sysctls:
{{- toYaml .Values.envoy.podSecurityContext.sysctls | nindent 8 }}
{{- end }}
{{- end }}
containers:
- command:
- contour
args:
- envoy
- shutdown-manager
image: {{ include "common.images.image" ( dict "imageRoot" .Values.contour.image "global" .Values.global) }}
imagePullPolicy: {{ .Values.contour.image.pullPolicy }}
{{- if .Values.contour.extraEnvVars }}
env:
{{- include "common.tplvalues.render" (dict "value" .Values.contour.extraEnvVars "context" $) | nindent 12 }}
{{- end }}
{{- if or .Values.contour.extraEnvVarsConfigMap .Values.contour.extraEnvVarsSecret }}
envFrom:
{{- if .Values.contour.extraEnvVarsConfigMap }}
- configMapRef:
name: {{ include "common.tplvalues.render" ( dict "value" .Values.contour.extraEnvVarsConfigMap "context" $ ) }}
{{- end }}
{{- if .Values.contour.extraEnvVarsSecret }}
- secretRef:
name: {{ include "common.tplvalues.render" ( dict "value" .Values.contour.extraEnvVarsSecret "context" $ ) }}
{{- end }}
{{- end }}
lifecycle:
preStop:
exec:
command:
- contour
- envoy
- shutdown
{{- if .Values.contour.livenessProbe.enabled }}
livenessProbe:
httpGet:
path: /healthz
port: 8090
initialDelaySeconds: {{ .Values.contour.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.contour.livenessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.contour.livenessProbe.timeoutSeconds }}
successThreshold: {{ .Values.contour.livenessProbe.successThreshold }}
failureThreshold: {{ .Values.contour.livenessProbe.failureThreshold }}
{{- end }}
name: shutdown-manager
{{- if .Values.envoy.extraVolumeMounts }}
volumeMounts:
{{- include "common.tplvalues.render" ( dict "value" .Values.envoy.extraVolumeMounts "context" $ ) | nindent 12 }}
{{- end }}
- command:
- envoy
args:
- -c
- /config/envoy.json
- --service-cluster $(CONTOUR_NAMESPACE)
- --service-node $(ENVOY_POD_NAME)
- --log-level {{ .Values.envoy.logLevel }}
{{- if .Values.envoy.extraArgs }}
{{- include "common.tplvalues.render" (dict "value" .Values.envoy.extraArgs "context" $) | nindent 12 }}
{{- end }}
image: {{ include "common.images.image" ( dict "imageRoot" .Values.envoy.image "global" .Values.global ) }}
imagePullPolicy: {{ .Values.envoy.image.pullPolicy }}
name: envoy
{{- if .Values.envoy.containerSecurityContext.enabled }}
securityContext:
runAsUser: {{ .Values.envoy.containerSecurityContext.runAsUser }}
{{- end }}
env:
- name: CONTOUR_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: ENVOY_POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
{{- if .Values.envoy.extraEnvVars }}
{{- include "common.tplvalues.render" (dict "value" .Values.envoy.extraEnvVars "context" $) | nindent 12 }}
{{- end }}
{{- if or .Values.envoy.extraEnvVarsConfigMap .Values.envoy.extraEnvVarsSecret }}
envFrom:
{{- if .Values.envoy.extraEnvVarsConfigMap }}
- configMapRef:
name: {{ include "common.tplvalues.render" ( dict "value" .Values.envoy.extraEnvVarsConfigMap "context" $ ) }}
{{- end }}
{{- if .Values.envoy.extraEnvVarsSecret }}
- secretRef:
name: {{ include "common.tplvalues.render" ( dict "value" .Values.envoy.extraEnvVarsSecret "context" $ ) }}
{{- end }}
{{- end }}
ports:
- containerPort: {{ .Values.envoy.containerPorts.http }}
{{- if .Values.envoy.useHostPort }}
hostPort: {{ .Values.envoy.hostPorts.http }}
{{- end }}
{{- if .Values.envoy.useHostIP }}
hostIP: {{ .Values.envoy.hostIPs.http }}
{{- end }}
name: http
protocol: TCP
- containerPort: {{ .Values.envoy.containerPorts.https }}
{{- if .Values.envoy.useHostPort }}
hostPort: {{ .Values.envoy.hostPorts.https }}
{{- end }}
{{- if .Values.envoy.useHostIP }}
hostIP: {{ .Values.envoy.hostIPs.https }}
{{- end }}
name: https
protocol: TCP
- containerPort: 8002
name: metrics
protocol: TCP
{{- if .Values.envoy.readinessProbe.enabled }}
readinessProbe:
httpGet:
path: /ready
port: 8002
initialDelaySeconds: {{ .Values.envoy.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.envoy.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.envoy.readinessProbe.timeoutSeconds }}
successThreshold: {{ .Values.envoy.readinessProbe.successThreshold }}
failureThreshold: {{ .Values.envoy.readinessProbe.failureThreshold }}
{{- end }}
{{- if .Values.envoy.livenessProbe.enabled }}
livenessProbe:
httpGet:
path: /ready
port: 8002
initialDelaySeconds: {{ .Values.envoy.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.envoy.livenessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.envoy.livenessProbe.timeoutSeconds }}
successThreshold: {{ .Values.envoy.livenessProbe.successThreshold }}
failureThreshold: {{ .Values.envoy.livenessProbe.failureThreshold }}
{{- end }}
resources: {{- toYaml .Values.envoy.resources | nindent 12 }}
volumeMounts:
- name: envoy-config
mountPath: /config
- name: envoycert
mountPath: /certs
{{- if .Values.envoy.extraVolumeMounts }}
{{- include "common.tplvalues.render" ( dict "value" .Values.envoy.extraVolumeMounts "context" $ ) | nindent 12 }}
{{- end }}
lifecycle:
preStop:
httpGet:
path: /shutdown
port: 8090
scheme: HTTP
initContainers:
- command:
- contour
args:
- bootstrap
- /config/envoy.json
- --xds-address={{ template "common.names.fullname" . }}
- --xds-port=8001
- --resources-dir=/config/resources
- --envoy-cafile=/certs/ca.crt
- --envoy-cert-file=/certs/tls.crt
- --envoy-key-file=/certs/tls.key
image: {{ include "common.images.image" ( dict "imageRoot" .Values.contour.image "global" .Values.global) }}
imagePullPolicy: {{ .Values.contour.image.pullPolicy }}
name: envoy-initconfig
resources: {{ toYaml .Values.contour.resources | nindent 12 }}
volumeMounts:
- name: envoy-config
mountPath: /config
- name: envoycert
mountPath: /certs
readOnly: true
{{- if .Values.envoy.extraVolumeMounts }}
{{- include "common.tplvalues.render" ( dict "value" .Values.envoy.extraVolumeMounts "context" $ ) | nindent 12 }}
{{- end }}
env:
- name: CONTOUR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
{{- if .Values.contour.extraEnvVars }}
{{- include "common.tplvalues.render" (dict "value" .Values.contour.extraEnvVars "context" $) | nindent 12 }}
{{- end }}
{{- if or .Values.contour.extraEnvVarsConfigMap .Values.contour.extraEnvVarsSecret }}
envFrom:
{{- if .Values.contour.extraEnvVarsConfigMap }}
- configMapRef:
name: {{ include "common.tplvalues.render" ( dict "value" .Values.contour.extraEnvVarsConfigMap "context" $ ) }}
{{- end }}
{{- if .Values.contour.extraEnvVarsSecret }}
- secretRef:
name: {{ include "common.tplvalues.render" ( dict "value" .Values.contour.extraEnvVarsSecret "context" $ ) }}
{{- end }}
{{- end }}
{{- if .Values.envoy.initContainers }}
{{- include "common.tplvalues.render" ( dict "value" .Values.envoy.initContainers "context" $ ) | nindent 8 }}
{{- end }}
automountServiceAccountToken: {{ .Values.envoy.serviceAccount.automountServiceAccountToken }}
serviceAccountName: {{ include "envoy.envoyServiceAccountName" . }}
volumes:
- name: envoy-config
emptyDir: {}
- name: envoycert
secret:
secretName: {{ include "contour.envoy.certs-secret.name" . }}
{{- if .Values.envoy.extraVolumes }}
{{- include "common.tplvalues.render" ( dict "value" .Values.envoy.extraVolumes "context" $ ) | nindent 8 }}
{{- end }}
restartPolicy: Always
{{- end }}

View File

@@ -0,0 +1,4 @@
{{- range .Values.extraDeploy }}
---
{{ include "common.tplvalues.render" (dict "value" . "context" $) }}
{{- end }}

View File

@@ -0,0 +1,35 @@
{{- if and .Values.envoy.enabled .Values.envoy.autoscaling.enabled (eq .Values.envoy.kind "deployment") }}
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "common.names.fullname" . }}-envoy
namespace: {{ .Release.Namespace | quote }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: envoy
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
scaleTargetRef:
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
name: {{ include "common.names.fullname" . }}-envoy
minReplicas: {{ .Values.envoy.autoscaling.minReplicas }}
maxReplicas: {{ .Values.envoy.autoscaling.maxReplicas }}
metrics:
{{- if .Values.envoy.autoscaling.targetCPU }}
- type: Resource
resource:
name: cpu
targetAverageUtilization: {{ .Values.envoy.autoscaling.targetCPU }}
{{- end }}
{{- if .Values.envoy.autoscaling.targetMemory }}
- type: Resource
resource:
name: memory
targetAverageUtilization: {{ .Values.envoy.autoscaling.targetMemory }}
{{- end }}
{{- end }}

View File

@@ -4,7 +4,7 @@
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
## @param global.imageRegistry Global Docker image registry
## @param global.imagePullSecrets Global Docker registry secret names as an array
## @param global.imagePullSecrets [array] Global Docker registry secret names as an array
##
global:
imageRegistry: ""
@@ -29,6 +29,9 @@ ingress:
## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
##
kubeVersion: ""
## @param extraDeploy [array] Array of extra objects to deploy with the release
##
extraDeploy: []
## @section Contour parameters
@@ -42,96 +45,20 @@ replicaCount: 2
## existingConfigMap: contour
##
existingConfigMap: ""
## configInline specifies Contour's configuration directly, in yaml format.
## When configInline is used, Helm manages
## Contour's configuration ConfigMap as part of the release, and existingConfigMap is ignored.
## Refer to https://projectcontour.io/docs/v1.2.1/configuration/ for available options.
## Evaluated as a template
## @param configInline [object] Specifies Contour's configuration directly in YAML format
## When configInline is used, Helm manages Contour's configuration ConfigMap as
## part of the release, and existingConfigMap is ignored.
## Refer to https://projectcontour.io/docs/latest/configuration for available options.
##
configInline:
## Should Contour expect to be running inside a k8s cluster
# incluster: true
##
## path to kubeconfig (if not running inside a k8s cluster)
# kubeconfig: /path/to/.kube/config
##
## Client request timeout to be passed to Envoy as the connection manager request_timeout.
## Defaults to 0, which Envoy interprets as disabled. Note that this is the timeout for the whole request,
## not an idle timeout.
# request-timeout: 0s
##
## @param configInline.disablePermitInsecure Disable ingressroute permitInsecure field
##
disablePermitInsecure: false
tls:
## Minimum TLS version that Contour will negotiate
# minimum-protocol-version: "1.1"
##
## @param configInline.tls.fallback-certificate Defines the name/namespace matching a secret to use as the fallback certificate
## Used when requests which don't match the SNI defined for a vhost.
## Example:
## fallback-certificate:
## name: fallback-secret-name
## namespace: '{{ .Release.Namespace }}'
##
fallback-certificate: {}
## The following config shows the defaults for the leader election.
##
leaderelection:
## Configmap name for leader election
# configmap-name: leader-elect
## @param configInline.leaderelection.configmap-namespace This needs to be edited by when you deploy to a namespace other than `projectcontour`
##
configmap-namespace: '{{ .Release.Namespace }}'
## @param configInline.envoy-service-name Envoy service name
## The expression used here is the same as in templates/envoy/service.yaml and ensures that Contour is using the configured
## Envoy service name so it can automatically update the ingress.status field.
configmap-namespace: "{{ .Release.Namespace }}"
envoy-service-name: '{{ include "common.names.fullname" . }}-envoy'
## Logging options
## @param configInline.accesslog-format Access log format
## To enable JSON logging in Envoy
## accesslog-format: json
##
accesslog-format: envoy
## To enable JSON logging in Envoy
# accesslog-format: json
## The default fields that will be logged are specified below.
## To customise this list, just add or remove entries.
## The canonical list is available at https://godoc.org/github.com/projectcontour/contour/internal/envoy#JSONFields
# json-fields:
# - "@timestamp"
# - "authority"
# - "bytes_received"
# - "bytes_sent"
# - "downstream_local_address"
# - "downstream_remote_address"
# - "duration"
# - "method"
# - "path"
# - "protocol"
# - "request_id"
# - "requested_server_name"
# - "response_code"
# - "response_flags"
# - "uber_trace_id"
# - "upstream_cluster"
# - "upstream_host"
# - "upstream_local_address"
# - "upstream_service_time"
# - "user_agent"
# - "x_forwarded_for"
#
# default-http-versions:
# - "HTTP/2"
# - "HTTP/1.1"
#
# The following shows the default proxy timeout settings.
# timeouts:
# request-timeout: infinity
# connection-idle-timeout: 60s
# stream-idle-timeout: 5m
# max-connection-duration: infinity
# connection-shutdown-grace-period: 5s
contour:
## @param contour.enabled Contour Deployment creation.
##
@@ -140,12 +67,12 @@ contour:
## @param contour.image.repository Contour image name
## @param contour.image.tag Contour image tag
## @param contour.image.pullPolicy Contour Image pull policy
## @param contour.image.pullSecrets Contour Image pull secrets
## @param contour.image.pullSecrets [array] Contour Image pull secrets
##
image:
registry: docker.io
repository: bitnami/contour
tag: 1.18.0-debian-10-r27
tag: 1.18.0-debian-10-r28
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -159,11 +86,11 @@ contour:
## - myRegistryKeySecretName
##
pullSecrets: []
## @param contour.hostAliases Add deployment host aliases
## @param contour.hostAliases [array] Add deployment host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## @param contour.extraArgs Extra arguments passed to Contour container
## @param contour.extraArgs [array] Extra arguments passed to Contour container
##
extraArgs: []
## Contour container resource requests and limits
@@ -173,8 +100,8 @@ contour:
## 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 contour.resources.limits Specify resource limits which the container is not allowed to succeed.
## @param contour.resources.requests Specify resource requests which the container needs to spawn.
## @param contour.resources.limits [object] Specify resource limits which the container is not allowed to succeed.
## @param contour.resources.requests [object] Specify resource requests which the container needs to spawn.
##
resources:
## Example:
@@ -202,7 +129,7 @@ contour:
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
## @param contour.nodeAffinityPreset.type Contour Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## @param contour.nodeAffinityPreset.key Contour Node label key to match Ignored if `affinity` is set.
## @param contour.nodeAffinityPreset.values Contour Node label values to match. Ignored if `affinity` is set.
## @param contour.nodeAffinityPreset.values [array] Contour Node label values to match. Ignored if `affinity` is set.
##
nodeAffinityPreset:
type: ""
@@ -216,20 +143,20 @@ contour:
## - e2e-az2
##
values: []
## @param contour.affinity Affinity for Contour pod assignment
## @param contour.affinity [object] Affinity for Contour 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 contour.nodeSelector Node labels for Contour pod assignment
## @param contour.nodeSelector [object] Node labels for Contour pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## @param contour.tolerations Tolerations for Contour pod assignment
## @param contour.tolerations [array] Tolerations for Contour pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param contour.podAnnotations Contour Pod annotations
## @param contour.podAnnotations [object] Contour Pod annotations
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
@@ -290,11 +217,11 @@ contour:
tlsExistingSecret: ""
## Contour Service properties
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
## @param contour.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
## @param contour.service.extraPorts [array] Extra ports to expose (normally used with the `sidecar` value)
##
service:
extraPorts: []
## @param contour.initContainers Attach additional init containers to Contour pods
## @param contour.initContainers [array] Attach additional init containers to Contour pods
## For example:
## initContainers:
## - name: your-image-name
@@ -302,7 +229,7 @@ contour:
## imagePullPolicy: Always
##
initContainers: []
## @param contour.sidecars Add additional sidecar containers to the Contour pods
## @param contour.sidecars [array] Add additional sidecar containers to the Contour pods
## Example:
## sidecars:
## - name: your-image-name
@@ -313,13 +240,13 @@ contour:
## containerPort: 1234
##
sidecars: []
## @param contour.extraVolumes Array to add extra volumes
## @param contour.extraVolumes [array] Array to add extra volumes
##
extraVolumes: []
## @param contour.extraVolumeMounts Array to add extra mounts (normally used with extraVolumes)
## @param contour.extraVolumeMounts [array] Array to add extra mounts (normally used with extraVolumes)
##
extraVolumeMounts: []
## @param contour.extraEnvVars Array containing extra env vars to be added to all Contour containers
## @param contour.extraEnvVars [array] Array containing extra env vars to be added to all Contour containers
## For example:
## extraEnvVars:
## - name: MY_ENV_VAR
@@ -339,7 +266,7 @@ contour:
## @section Envoy parameters
envoy:
## @param envoy.enabled Envoy Proxy Daemonset creation
## @param envoy.enabled Envoy Proxy creation
##
enabled: true
## Bitnami Envoy image
@@ -348,12 +275,12 @@ envoy:
## @param envoy.image.repository Envoy Proxy image repository
## @param envoy.image.tag Envoy Proxy image tag (immutable tags are recommended)
## @param envoy.image.pullPolicy Envoy image pull policy
## @param envoy.image.pullSecrets Envoy image pull secrets
## @param envoy.image.pullSecrets [array] Envoy image pull secrets
##
image:
registry: docker.io
repository: bitnami/envoy
tag: 1.19.0-debian-10-r14
tag: 1.19.1-debian-10-r0
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -367,10 +294,10 @@ envoy:
## - myRegistryKeySecretName
##
pullSecrets: []
## @param envoy.extraArgs Extra arguments passed to Envoy container
## @param envoy.extraArgs [array] Extra arguments passed to Envoy container
##
extraArgs: []
## @param envoy.hostAliases Add deployment host aliases
## @param envoy.hostAliases [array] Add deployment host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
@@ -381,8 +308,8 @@ envoy:
## 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 envoy.resources.limits Specify resource limits which the container is not allowed to succeed.
## @param envoy.resources.requests Specify resource requests which the container needs to spawn.
## @param envoy.resources.limits [object] Specify resource limits which the container is not allowed to succeed.
## @param envoy.resources.requests [object] Specify resource requests which the container needs to spawn.
resources:
## Example:
## limits:
@@ -394,6 +321,32 @@ envoy:
## cpu: 100m
## memory: 25Mi
requests: {}
## @param envoy.kind Install as deployment or daemonset
##
kind: daemonset
## @param envoy.replicaCount Desired number of Controller pods
##
replicaCount: 1
## @param envoy.updateStrategy [object] Strategy to use to update Pods
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
##
updateStrategy: {}
## @param envoy.revisionHistoryLimit The number of old history to retain to allow rollback
##
revisionHistoryLimit: 10
## Controller Autoscaling configuration
## @param envoy.autoscaling.enabled Enable autoscaling for Controller
## @param envoy.autoscaling.minReplicas Minimum number of Controller replicas
## @param envoy.autoscaling.maxReplicas Maximum number of Controller replicas
## @param envoy.autoscaling.targetCPU Target CPU utilization percentage
## @param envoy.autoscaling.targetMemory Target Memory utilization percentage
##
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 11
targetCPU: ""
targetMemory: ""
## @param envoy.podAffinityPreset Envoy 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
## Allowed values: soft, hard
@@ -408,7 +361,7 @@ envoy:
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
## @param envoy.nodeAffinityPreset.type Envoy Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## @param envoy.nodeAffinityPreset.key Envoy Node label key to match Ignored if `affinity` is set.
## @param envoy.nodeAffinityPreset.values Envoy Node label values to match. Ignored if `affinity` is set.
## @param envoy.nodeAffinityPreset.values [array] Envoy Node label values to match. Ignored if `affinity` is set.
##
nodeAffinityPreset:
type: ""
@@ -419,20 +372,20 @@ envoy:
## - e2e-az2
##
values: []
## @param envoy.affinity Affinity for Envoy pod assignment
## @param envoy.affinity [object] Affinity for Envoy 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 envoy.nodeSelector Node labels for Envoy pod assignment
## @param envoy.nodeSelector [object] Node labels for Envoy pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## @param envoy.tolerations Tolerations for Envoy pod assignment
## @param envoy.tolerations [array] Tolerations for Envoy pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param envoy.podAnnotations Envoy Pod annotations
## @param envoy.podAnnotations [object] Envoy Pod annotations
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
@@ -518,16 +471,16 @@ envoy:
## clusterIP: None
##
clusterIP: ""
## @param envoy.service.externalIPs Envoy service external IP addresses
## @param envoy.service.externalIPs [array] Envoy service external IP addresses
##
externalIPs: []
## @param envoy.service.loadBalancerIP IP address to assign to load balancer (if supported)
##
loadBalancerIP: ""
## @param envoy.service.loadBalancerSourceRanges List of IP CIDRs allowed access to load balancer (if supported)
## @param envoy.service.loadBalancerSourceRanges [array] List of IP CIDRs allowed access to load balancer (if supported)
##
loadBalancerSourceRanges: []
## @param envoy.service.annotations Annotations for Envoy service
## @param envoy.service.annotations [object] Annotations for Envoy service
##
annotations: {}
ports:
@@ -545,7 +498,7 @@ envoy:
nodePorts:
http: ""
https: ""
## @param envoy.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
## @param envoy.service.extraPorts [array] Extra ports to expose (normally used with the `sidecar` value)
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
##
extraPorts: []
@@ -574,7 +527,7 @@ envoy:
containerPorts:
http: 80
https: 443
## @param envoy.initContainers Attach additional init containers to Envoy pods
## @param envoy.initContainers [array] Attach additional init containers to Envoy pods
## For example:
## initContainers:
## - name: your-image-name
@@ -582,13 +535,13 @@ envoy:
## imagePullPolicy: Always
##
initContainers: []
## @param envoy.extraVolumes Array to add extra volumes
## @param envoy.extraVolumes [array] Array to add extra volumes
##
extraVolumes: []
## @param envoy.extraVolumeMounts Array to add extra mounts (normally used with extraVolumes)
## @param envoy.extraVolumeMounts [array] Array to add extra mounts (normally used with extraVolumes)
##
extraVolumeMounts: []
## @param envoy.extraEnvVars Array containing extra env vars to be added to all Envoy containers
## @param envoy.extraEnvVars [array] Array containing extra env vars to be added to all Envoy containers
## For example:
## extraEnvVars:
## - name: MY_ENV_VAR
@@ -616,12 +569,12 @@ defaultBackend:
## @param defaultBackend.image.repository Default backend image name
## @param defaultBackend.image.tag Default backend image tag
## @param defaultBackend.image.pullPolicy Image pull policy
## @param defaultBackend.image.pullSecrets Specify docker-registry secret names as an array
## @param defaultBackend.image.pullSecrets [array] Specify docker-registry secret names as an array
##
image:
registry: docker.io
repository: bitnami/nginx
tag: 1.21.1-debian-10-r44
tag: 1.21.1-debian-10-r45
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -635,13 +588,13 @@ defaultBackend:
## - myRegistryKeySecretName
##
pullSecrets: []
## @param defaultBackend.extraArgs Additional command line arguments to pass to NGINX container
## @param defaultBackend.extraArgs [object] Additional command line arguments to pass to NGINX container
##
extraArgs: {}
## @param defaultBackend.containerPort HTTP container port number
##
containerPort: 8080
## @param defaultBackend.hostAliases Add deployment host aliases
## @param defaultBackend.hostAliases [array] Add deployment host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
@@ -669,8 +622,8 @@ defaultBackend:
## 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.
## @param defaultBackend.resources.limits The resources limits for the Default backend container
## @param defaultBackend.resources.requests The requested resources for the Default backend container
## @param defaultBackend.resources.limits [object] The resources limits for the Default backend container
## @param defaultBackend.resources.requests [object] The requested resources for the Default backend container
##
resources:
## Example:
@@ -725,17 +678,17 @@ defaultBackend:
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 5
## @param defaultBackend.customLivenessProbe Override default liveness probe, it overrides the default one (evaluated as a template)
## @param defaultBackend.customLivenessProbe [object] Override default liveness probe, it overrides the default one (evaluated as a template)
##
customLivenessProbe: {}
## @param defaultBackend.customReadinessProbe Override default readiness probe, it overrides the default one (evaluated as a template)
## @param defaultBackend.customReadinessProbe [object] Override default readiness probe, it overrides the default one (evaluated as a template)
##
customReadinessProbe: {}
## @param defaultBackend.podLabels Extra labels for Controller pods
## @param defaultBackend.podLabels [object] Extra labels for Controller pods
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param defaultBackend.podAnnotations Annotations for Controller pods
## @param defaultBackend.podAnnotations [object] Annotations for Controller pods
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
@@ -757,7 +710,7 @@ defaultBackend:
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
## @param defaultBackend.nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## @param defaultBackend.nodeAffinityPreset.key Node label key to match. Ignored if `affinity` is set.
## @param defaultBackend.nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set.
## @param defaultBackend.nodeAffinityPreset.values [array] Node label values to match. Ignored if `affinity` is set.
##
nodeAffinityPreset:
type: ""
@@ -768,16 +721,16 @@ defaultBackend:
## - e2e-az2
##
values: []
## @param defaultBackend.affinity Affinity for pod assignment. Evaluated as a template.
## @param defaultBackend.affinity [object] Affinity for pod assignment. Evaluated as a template.
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
## Note: defaultBackend.podAffinityPreset, defaultBackend.podAntiAffinityPreset, and defaultBackend.nodeAffinityPreset will be ignored when it's set
##
affinity: {}
## @param defaultBackend.nodeSelector Node labels for pod assignment. Evaluated as a template.
## @param defaultBackend.nodeSelector [object] Node labels for pod assignment. Evaluated as a template.
## ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## @param defaultBackend.tolerations Tolerations for pod assignment. Evaluated as a template.
## @param defaultBackend.tolerations [array] Tolerations for pod assignment. Evaluated as a template.
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
@@ -807,14 +760,14 @@ defaultBackend:
## @param prometheus.serviceMonitor.enabled Specify if a servicemonitor will be deployed for prometheus-operator.
## @param prometheus.serviceMonitor.jobLabel Specify the jobLabel to use for the prometheus-operator
## @param prometheus.serviceMonitor.interval Specify the scrape interval if not specified use default prometheus scrapeIntervall, the Prometheus default scrape interval is used.
## @param prometheus.serviceMonitor.metricRelabelings Specify additional relabeling of metrics.
## @param prometheus.serviceMonitor.relabelings Specify general relabeling.
## @param prometheus.serviceMonitor.metricRelabelings [array] Specify additional relabeling of metrics.
## @param prometheus.serviceMonitor.relabelings [array] Specify general relabeling.
##
prometheus:
serviceMonitor:
namespace: ""
enabled: false
jobLabel: 'app.kubernetes.io/name'
jobLabel: "app.kubernetes.io/name"
interval: ""
metricRelabelings: []
relabelings: []
@@ -825,7 +778,7 @@ prometheus:
##
rbac:
create: true
## @param rbac.rules Custom RBAC rules to set
## @param rbac.rules [array] Custom RBAC rules to set
## e.g:
## rules:
## - apiGroups: