diff --git a/library/common/1.0.0/templates/class/_service.tpl b/library/common/1.0.0/templates/class/_service.tpl index c943387c2e..248fdfe36f 100644 --- a/library/common/1.0.0/templates/class/_service.tpl +++ b/library/common/1.0.0/templates/class/_service.tpl @@ -62,14 +62,7 @@ spec: {{- else if eq $svcType "ExternalName" }} {{/* ExternalName */}} externalName: {{ required " is required when service type is set to ExternalName" $svcValues.externalName }} {{- end -}} -{{- if ne $svcType "ClusterIP" -}} - {{- with $svcValues.externalTrafficPolicy -}} - {{- if not (has . (list "Cluster" "Local")) -}} - {{- fail (printf "Invalid option (%s) for . Valid options are Cluster and Local" .) -}} - {{- end }} - externalTrafficPolicy: {{ . }} - {{- end -}} -{{- end -}} +{{- include "ix.v1.common.class.serivce.externalTrafficPolicy" (dict "svc" $svcValues "svcType" $svcType "root" $root) | trim | nindent 2 -}} {{- include "ix.v1.common.class.serivce.sessionAffinity" (dict "svc" $svcValues "root" $root) | trim | nindent 2 -}} {{- include "ix.v1.common.class.serivce.externalIPs" (dict "svc" $svcValues "root" $root) | trim | nindent 2 -}} {{- include "ix.v1.common.class.serivce.publishNotReadyAddresses" (dict "publishNotReadyAddresses" $svcValues.publishNotReadyAddresses) | trim | nindent 2 -}} diff --git a/library/common/1.0.0/templates/lib/service/_externalIPs.tpl b/library/common/1.0.0/templates/lib/service/_externalIPs.tpl index d8fd82d9d4..83b08b8345 100644 --- a/library/common/1.0.0/templates/lib/service/_externalIPs.tpl +++ b/library/common/1.0.0/templates/lib/service/_externalIPs.tpl @@ -1,6 +1,7 @@ {{- define "ix.v1.common.class.serivce.externalIPs" -}} {{- $svcValues := .svc -}} {{- $root := .root -}} + {{- with $svcValues.externalIPs -}} externalIPs: {{- range . }} diff --git a/library/common/1.0.0/templates/lib/service/_externalTrafficPolicy.tpl b/library/common/1.0.0/templates/lib/service/_externalTrafficPolicy.tpl new file mode 100644 index 0000000000..8877c7c14f --- /dev/null +++ b/library/common/1.0.0/templates/lib/service/_externalTrafficPolicy.tpl @@ -0,0 +1,13 @@ +{{- define "ix.v1.common.class.serivce.externalTrafficPolicy" -}} +{{- $svcType := .svcType -}} +{{- $svcValues := .svc -}} + +{{- if ne $svcType "ClusterIP" -}} + {{- with $svcValues.externalTrafficPolicy -}} + {{- if not (has . (list "Cluster" "Local")) -}} + {{- fail (printf "Invalid option (%s) for . Valid options are Cluster and Local" .) -}} + {{- end }} +externalTrafficPolicy: {{ . }} + {{- end -}} +{{- end -}} +{{- end -}} diff --git a/library/common/1.0.0/templates/lib/service/_sessionAffinity.tpl b/library/common/1.0.0/templates/lib/service/_sessionAffinity.tpl index 38bb588ffb..3f1cf450f5 100644 --- a/library/common/1.0.0/templates/lib/service/_sessionAffinity.tpl +++ b/library/common/1.0.0/templates/lib/service/_sessionAffinity.tpl @@ -1,6 +1,7 @@ {{- define "ix.v1.common.class.serivce.sessionAffinity" -}} {{- $svcValues := .svc -}} {{- $root := .root -}} + {{- with $svcValues.sessionAffinity -}} {{- if not (has . (list "ClientIP" "None")) -}} {{- fail (printf "Invalid option (%s) for . Valid options are ClientIP and None" .) -}}