mirror of
https://github.com/truenas/charts.git
synced 2026-05-11 19:16:17 +08:00
* Adapt charts CI and improve/fix common * add check on permissions contaienr * add postgres template * update comments * Update create_app.sh * add check * update script * auto gen item.yaml from Chart,yaml * rename readme on dest * duplicate readme from the same source * correct comment * reoder * remove extra space * keep both README and app-readme * update regex, to also allow 2 letter names, which is also valid * No need to check host network if there aren't any pod values * use same pattern as the pod.name label (not prepending release-name * update deps * add chart dirs to ci * Add a validation to check if there is any yaml errors after merging files * update charts path on ci * common/1.0.0/ -> common/ * update common-test dep path * temp update create_app script * make permissions container name configurable, incase we want to change order of execution * update naming convention * fix typo and a missed name change * do not allow `--` in names
81 lines
2.6 KiB
Smarty
81 lines
2.6 KiB
Smarty
{{/* Returns ports list */}}
|
|
{{/* Call this template:
|
|
{{ include "ix.v1.common.lib.container.ports" (dict "rootCtx" $ "objectData" $objectData) }}
|
|
rootCtx: The root context of the chart.
|
|
objectData: The object data to be used to render the container.
|
|
*/}}
|
|
{{- define "ix.v1.common.lib.container.ports" -}}
|
|
{{- $rootCtx := .rootCtx -}}
|
|
{{- $objectData := .objectData -}}
|
|
|
|
{{- range $serviceName, $serviceValues := $rootCtx.Values.service -}}
|
|
{{- $podSelected := false -}}
|
|
{{/* If service is enabled... */}}
|
|
{{- if $serviceValues.enabled -}}
|
|
|
|
{{/* If there is a selector */}}
|
|
{{- if $serviceValues.targetSelector -}}
|
|
|
|
{{/* And pod is selected */}}
|
|
{{- if eq $serviceValues.targetSelector $objectData.podShortName -}}
|
|
{{- $podSelected = true -}}
|
|
{{- end -}}
|
|
|
|
{{- else -}}
|
|
{{/* If no selector is defined but pod is primary */}}
|
|
{{- if $objectData.podPrimary -}}
|
|
{{- $podSelected = true -}}
|
|
{{- end -}}
|
|
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- if $podSelected -}}
|
|
{{- range $portName, $portValues := $serviceValues.ports -}}
|
|
{{- $containerSelected := false -}}
|
|
|
|
{{/* If service is enabled... */}}
|
|
{{- if $portValues.enabled -}}
|
|
{{/* If there is a selector */}}
|
|
{{- if $portValues.targetSelector -}}
|
|
|
|
{{/* And container is selected */}}
|
|
{{- if eq $portValues.targetSelector $objectData.shortName -}}
|
|
{{- $containerSelected = true -}}
|
|
{{- end -}}
|
|
|
|
{{- else -}}
|
|
{{/* If no selector is defined but contaienr is primary */}}
|
|
{{- if $objectData.primary -}}
|
|
{{- $containerSelected = true -}}
|
|
{{- end -}}
|
|
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/* If the container is selected render port */}}
|
|
{{- if $containerSelected -}}
|
|
{{- $containerPort := $portValues.targetPort | default $portValues.port -}}
|
|
{{- if kindIs "string" $containerPort -}}
|
|
{{- $containerPort = (tpl $containerPort $rootCtx) -}}
|
|
{{- end -}}
|
|
|
|
{{- $tcpProtocols := (list "tcp" "http" "https") -}}
|
|
{{- $protocol := tpl ($portValues.protocol | default $rootCtx.Values.fallbackDefaults.serviceProtocol) $rootCtx -}}
|
|
{{- if mustHas $protocol $tcpProtocols -}}
|
|
{{- $protocol = "tcp" -}}
|
|
{{- end }}
|
|
- name: {{ $portName }}
|
|
containerPort: {{ $containerPort }}
|
|
protocol: {{ $protocol | upper }}
|
|
{{- with $portValues.hostPort }}
|
|
hostPort: {{ . }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- end -}}
|