65 lines
2.5 KiB
Smarty
65 lines
2.5 KiB
Smarty
{{/*
|
|
Copyright Broadcom, Inc. All Rights Reserved.
|
|
SPDX-License-Identifier: APACHE-2.0
|
|
*/}}
|
|
|
|
{{/*
|
|
Returns an init-container that bootstraps Envoy configuration so it's ready to be consumed by Envoy "main" container
|
|
*/}}
|
|
{{- define "contour.envoy.defaultInitContainers.initConfig" -}}
|
|
- name: envoy-initconfig
|
|
image: {{ include "common.images.image" ( dict "imageRoot" .Values.contour.image "global" .Values.global) }}
|
|
imagePullPolicy: {{ .Values.contour.image.pullPolicy }}
|
|
{{- if .Values.envoy.defaultInitContainers.initConfig.containerSecurityContext.enabled }}
|
|
securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.envoy.defaultInitContainers.initConfig.containerSecurityContext "context" .) | nindent 4 }}
|
|
{{- end }}
|
|
{{- if .Values.envoy.defaultInitContainers.initConfig.resources }}
|
|
resources: {{- toYaml .Values.envoy.defaultInitContainers.initConfig.resources | nindent 4 }}
|
|
{{- else if ne .Values.envoy.defaultInitContainers.initConfig.resourcesPreset "none" }}
|
|
resources: {{- include "common.resources.preset" (dict "type" .Values.envoy.defaultInitContainers.initConfig.resourcesPreset) | nindent 4 }}
|
|
{{- end }}
|
|
command:
|
|
- contour
|
|
args:
|
|
- bootstrap
|
|
- /config/envoy.json
|
|
- --xds-address={{ include "common.names.fullname" . }}
|
|
- --xds-port={{ .Values.contour.service.ports.xds }}
|
|
- --resources-dir=/config/resources
|
|
- --envoy-cafile=/certs/ca.crt
|
|
- --envoy-cert-file=/certs/tls.crt
|
|
- --envoy-key-file=/certs/tls.key
|
|
{{- if .Values.contour.overloadManager.enabled }}
|
|
- --overload-max-heap={{ int .Values.contour.overloadManager.maxHeapBytes }}
|
|
{{- 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 4 }}
|
|
{{- end }}
|
|
{{- if or .Values.contour.extraEnvVarsCM .Values.contour.extraEnvVarsSecret }}
|
|
envFrom:
|
|
{{- if .Values.contour.extraEnvVarsCM }}
|
|
- configMapRef:
|
|
name: {{ tpl .Values.contour.extraEnvVarsCM . }}
|
|
{{- end }}
|
|
{{- if .Values.contour.extraEnvVarsSecret }}
|
|
- secretRef:
|
|
name: {{ tpl .Values.contour.extraEnvVarsSecret . }}
|
|
{{- end }}
|
|
{{- end }}
|
|
volumeMounts:
|
|
- name: empty-dir
|
|
mountPath: /config
|
|
subPath: app-conf-dir
|
|
- name: envoycert
|
|
mountPath: /certs
|
|
readOnly: true
|
|
- name: empty-dir
|
|
mountPath: /admin
|
|
subPath: app-admin-dir
|
|
{{- end -}}
|