Skip to content

Commit

Permalink
refactor: container template "platformex.containerFull"
Browse files Browse the repository at this point in the history
  • Loading branch information
Wojciech Międzybrodzki committed Dec 31, 2024
1 parent 9c0eede commit bc7a6f4
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 72 deletions.
2 changes: 1 addition & 1 deletion charts/app/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Flexible helm chart to deploy your apps to kubernetes cluster.
type: application

# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.2.0
version: 0.2.1

appVersion: 1.0.0

74 changes: 74 additions & 0 deletions charts/app/templates/_container.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{{- define "platformex.containerFull" }}
name: {{ .name }}
{{- include "platformex.container.volumeMounts" .container }}
{{- include "platformex.container.envFrom" . }}
{{- include "platformex.container.env" . }}
{{- include "platformex.container.image" . }}
{{- include "platformex.container.imagePullPolicy" . }}
{{- /* {{- include "platformex.deployment.command" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.lifecycle" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.ports" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.liveness" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.readiness" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.startup" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.resources" $initContainer | indent 14 }}*/}}
{{- end }}

{{- define "platformex.container.image" }}
{{- if .container.image }}
image: {{ .container.image }}
{{- else if .container.imageRef }}
{{- $ref := required "imageRef must be defined in imageRefs to be used!" (get .root.Values.imageRefs .container.imageRef) }}
image: {{ $ref.repository }}:{{ $ref.tag }}
{{- else }}
{{- end }}
{{- end }}

{{- define "platformex.container.envFrom" }}
{{- if .envFrom }}
envFrom:
{{- toYaml .envFrom | nindent 2 }}
{{- end }}
{{- end }}

{{- define "platformex.container.imagePullPolicy" }}
imagePullPolicy: {{ .container.imagePullPolicy | default "IfNotPresent" }}
{{- end }}


{{- define "platformex.container.env" }}
env:
{{- range $name, $env := .container.env }}
- name: {{ $name }}
{{- if typeIs "string" $env }}
value: {{ $env }}
value: {{ $env }}
{{- else if hasKey $env "valueFrom" }}
valueFrom:
{{- toYaml $env.valueFrom | nindent 4 }}
{{- end }}
{{- end }}
{{- if .container.envRefs }}
{{- range $envRef := .container.envRefs }}
{{- $ref := required "envRef must be defined in envRefs to be used!" (get $.root.Values.envRefs $envRef) }}
{{- range $name, $env := $ref }}
- name: {{ $name }}
{{- if typeIs "string" $env }}
value: {{ $env }}
{{- else if hasKey $env "valueFrom" }}
valueFrom:
{{- toYaml $env.valueFrom | nindent 4 }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

{{- define "platformex.container.volumeMounts" }}
{{- if .volumeMounts }}
volumeMounts:
{{- range .volumeMounts }}
- {{- toYaml . | nindent 2 }}
{{- end }}
{{- end }}
{{- end }}
54 changes: 0 additions & 54 deletions charts/app/templates/_deployment.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -29,60 +29,6 @@ imagePullSecrets: {{- range .root.Values.global.defaults.imagePullSecrets }}
{{- end }}
{{- end }}

{{- define "platformex.deployment.envFrom" }}
{{- if .envFrom }}
envFrom:
{{- toYaml .envFrom | nindent 2 }}
{{- end }}
{{- end }}

## TODO: move to _container.tpl
{{- define "platformex.deployment.image" }}
{{- if .container.image }}
image: {{ .container.image }}
{{- else if .container.imageRef }}
{{- $ref := required "imageRef must be defined in imageRefs to be used!" (get .root.Values.imageRefs .container.imageRef) }}
image: {{ $ref.repository }}:{{ $ref.tag }}
{{- else }}
{{- end }}
{{- end }}

{{- define "platformex.deployment.env" }}
env:
{{- range $name, $env := .container.env }}
- name: {{ $name }}
{{- if typeIs "string" $env }}
value: {{ $env }}
{{- else if hasKey $env "valueFrom" }}
valueFrom:
{{- toYaml $env.valueFrom | nindent 4 }}
{{- end }}
{{- end }}
{{- if .container.envRefs }}
{{- range $envRef := .container.envRefs }}
{{- $ref := required "envRef must be defined in envRefs to be used!" (get $.root.Values.envRefs $envRef) }}
{{- range $name, $env := $ref }}
- name: {{ $name }}
{{- if typeIs "string" $env }}
value: {{ $env }}
{{- else if hasKey $env "valueFrom" }}
valueFrom:
{{- toYaml $env.valueFrom | nindent 4 }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

{{- define "platformex.deployment.volumeMounts" }}
{{- if .volumeMounts }}
volumeMounts:
{{- range .volumeMounts }}
- {{- toYaml . | nindent 2 }}
{{- end }}
{{- end }}
{{- end }}

{{- define "platformex.deployment.worker.replicas" }}
{{- if eq .instance.enableWorkers true}}
replicas: {{ .deployment.replicas }}
Expand Down
19 changes: 2 additions & 17 deletions charts/app/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,28 +31,13 @@ items:
initContainers:
{{- range $icName, $initContainer := $deployment.initContainers }}
{{- $icContext := dict "iname" $iname "instance" $instance "name" $icName "container" $initContainer "root" $ }}
- name: {{ $icName }}
{{- include "platformex.deployment.volumeMounts" $initContainer | indent 14 }}
{{- include "platformex.deployment.envFrom" $icContext | indent 14 }}
{{- include "platformex.deployment.env" $icContext | indent 14 }}
{{- /* {{- include "platformex.deployment.imagePullPolicy" $icContext | indent 14 }}*/}}
{{- include "platformex.deployment.image" $icContext | indent 14 }}
{{- /* {{- include "platformex.deployment.command" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.lifecycle" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.ports" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.liveness" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.readiness" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.startup" $initContainer | indent 14 }}*/}}
{{- /* {{- include "platformex.deployment.resources" $initContainer | indent 14 }}*/}}
- {{- include "platformex.containerFull" $icContext | indent 14 }}
{{- end }}
{{- end }}
containers:
{{- range $cName, $container := $deployment.containers }}
{{- $containerContext := dict "iname" $iname "instance" $instance "name" $cName "container" $container "root" $ }}
- name: {{ $cName }}
{{- include "platformex.deployment.envFrom" $containerContext | indent 14 }}
{{- include "platformex.deployment.env" $containerContext | indent 14 }}
{{- include "platformex.deployment.image" $containerContext | indent 14 }}
- {{- include "platformex.containerFull" $containerContext | indent 14 }}
{{- end }}
{{- end }}
{{- end }}
3 changes: 3 additions & 0 deletions charts/app/values-example.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ instances:
- mountPath: /var/lib/xyz-conf/.my.cnf
name: sum-volum
subPath: derp.cnf
envFrom:
- configMapRef:
name: konfigmapa
env:
EIP: "true"
PASSWORD:
Expand Down

0 comments on commit bc7a6f4

Please sign in to comment.