Simplify image referencing

Signed-off-by: Konstantin Semenov <ksemenov@pivotal.io>
Co-authored-by: Konstantin Semenov <ksemenov@pivotal.io>
pull/7332/head
Christian Mc Carthy 6 years ago committed by Konstantin Semenov
parent 58a9e155b1
commit ebd89817bf

@ -249,17 +249,15 @@ spec:
labels: labels:
{{- include "<CHARTNAME>.selectorLabels" . | nindent 8 }} {{- include "<CHARTNAME>.selectorLabels" . | nindent 8 }}
spec: spec:
{{- $nginxImage := (dict "image" .Values.images.nginx "global" .Values.global) -}} {{ include "imagePullSecrets" . | indent 6 }}
{{- include "imagePullSecrets" $nginxImage | indent 6 }}
serviceAccountName: {{ include "<CHARTNAME>.serviceAccountName" . }} serviceAccountName: {{ include "<CHARTNAME>.serviceAccountName" . }}
securityContext: securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }} {{- toYaml .Values.podSecurityContext | nindent 8 }}
containers: containers:
- name: {{ .Chart.Name }} - name: {{ .Chart.Name }}
{{ include "registryImage" (dict "image" .Values.images.nginx "global" .Values.global) | indent 10 }}
securityContext: securityContext:
{{- toYaml .Values.securityContext | nindent 12 }} {{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ include "registryImage" $nginxImage }}"
imagePullPolicy: {{ include "imagePullPolicy" $nginxImage }}
ports: ports:
- name: http - name: http
containerPort: 80 containerPort: 80
@ -403,34 +401,56 @@ Create the name of the service account to use
{{- end -}} {{- end -}}
{{/* {{/*
Create an image reference Create a registry image reference for use in a spec.
Includes the 'image' and 'imagePullPolicy' keys.
*/}} */}}
{{- define "registryImage" -}} {{- define "registryImage" -}}
{{ $registry := default .global.imageRegistry .image.registry }} image: {{ include "imageReference" . }}
{{- printf "%s/%s:%s" $registry .image.name .image.tag -}} {{ include "imagePullPolicy" . }}
{{- if .image.digest -}} {{- end -}}
{{- printf "@%s" .image.digest -}}
{{- end -}} {{/*
The most complete image reference, including the
registry address, repository, tag and digest when available.
*/}}
{{- define "imageReference" -}}
{{ $registry := coalesce .image.registry .global.imageRegistry "docker.io" }}
{{- printf "%s/%s:%s" $registry .image.name .image.tag -}}
{{- if .image.digest -}}
{{- printf "@%s" .image.digest -}}
{{- end -}}
{{- end -}} {{- end -}}
{{/* {{/*
Specify the image pull policy Specify the image pull policy
*/}} */}}
{{- define "imagePullPolicy" -}} {{- define "imagePullPolicy" -}}
{{- printf "%s" (default .global.imagePullPolicy .image.pullPolicy) -}} {{ $policy := coalesce .image.pullPolicy .global.imagePullPolicy }}
{{- if $policy -}}
imagePullPolicy: "{{ printf "%s" $policy -}}"
{{- end -}}
{{- end -}} {{- end -}}
{{/* {{/*
Use the image pull secrets Use the image pull secrets. All of the specified secrets will be used
*/}} */}}
{{- define "imagePullSecrets" -}} {{- define "imagePullSecrets" -}}
{{- $secrets := default .global.imagePullSecrets .image.pullSecrets -}} {{- $secrets := .Values.global.imagePullSecrets -}}
{{- if $secrets -}} {{- range $_, $image := .Values.images -}}
imagePullSecrets: {{- range $_, $s := $image.pullSecrets -}}
{{- range $secrets }} {{- if not $secrets -}}
- name: {{ . }} {{- $secrets = list $s -}}
{{- end }} {{- else -}}
{{- end -}} {{- $secrets = append $secrets $s -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- if $secrets -}}
imagePullSecrets:
{{- range $secrets }}
- name: {{ . }}
{{- end -}}
{{- end -}}
{{- end -}}` {{- end -}}`
const defaultTestConnection = `apiVersion: v1 const defaultTestConnection = `apiVersion: v1

Loading…
Cancel
Save