66 lines
1.6 KiB
YAML
66 lines
1.6 KiB
YAML
|
{{- define "lib.component.workload.allowed" -}} {{- /* define[0] */ -}}
|
||
|
{{- include "lib.error.noCtx" . -}}
|
||
|
{{ index .ctx.Chart.Annotations "allowed_workload_kinds" }}
|
||
|
{{- end -}} {{- /* /define[0] */ -}}
|
||
|
|
||
|
{{- define "lib.component.workload" -}} {{- /* define[0] */ -}}
|
||
|
{{- include "lib.error.noCtx" . -}}
|
||
|
{{-
|
||
|
$labels := include "lib.metadata.mergeLabels"
|
||
|
(dict
|
||
|
"ctx" .ctx
|
||
|
"global" ((.ctx.Values).metadata).labels
|
||
|
"local" (((.ctx.Values.base).workload).metadata).labels
|
||
|
)
|
||
|
}}
|
||
|
{{-
|
||
|
$metadata := include "lib.metadata"
|
||
|
(dict
|
||
|
"ctx" .ctx
|
||
|
"annotations" (((.ctx.Values.base).workload).metadata).annotations
|
||
|
"labels" $labels
|
||
|
)
|
||
|
}}
|
||
|
{{-
|
||
|
$securityContext := include "lib.core.pod.securityContext"
|
||
|
(dict
|
||
|
"securityContext" .ctx.Values.base.workload.securityContext
|
||
|
)
|
||
|
}}
|
||
|
|
||
|
{{
|
||
|
$containers := include "lib.core.pod.containers"
|
||
|
(dict
|
||
|
"ctx" .ctx
|
||
|
"containers" .ctx.Values.base.workload.containers
|
||
|
)
|
||
|
}}
|
||
|
|
||
|
{{
|
||
|
$volumes := include "lib.core.pod.volumes"
|
||
|
(dict
|
||
|
"ctx" .ctx
|
||
|
"files" (.ctx.Values.config).files
|
||
|
"storage" .ctx.Values.storage
|
||
|
"extraVolumes" .ctx.Values.extraVolumes
|
||
|
)
|
||
|
}}
|
||
|
|
||
|
{{- if eq .ctx.Values.base.workload.kind "Deployment" -}} {{- /* if[0] */ -}}
|
||
|
{{- if contains .ctx.Values.base.workload.kind (include "lib.component.workload.allowed" (dict "ctx" .ctx)) }}{{- /* if[0] */ -}}
|
||
|
{{-
|
||
|
include "lib.core.deployment"
|
||
|
(dict
|
||
|
"ctx" .ctx
|
||
|
"metadata" $metadata
|
||
|
"securityContext" $securityContext
|
||
|
"containers" $containers
|
||
|
"volumes" $volumes
|
||
|
)
|
||
|
}}
|
||
|
{{- else -}}
|
||
|
{{- fail (printf "workload kind is not allowed: %s" .ctx.Values.base.workload.kind) -}}
|
||
|
{{- end }}{{- /* if[1] */ -}}
|
||
|
{{- end -}} {{- /* /if[0]*/ -}}
|
||
|
{{- end -}}{{- /* /define[0] */ -}}
|