mirror of
https://github.com/truenas/charts.git
synced 2026-06-18 09:37:12 +08:00
extract sessionAffinity and sessionAffinityConfig
This commit is contained in:
@@ -60,7 +60,7 @@ tests:
|
||||
sessionAffinity: invalid_affinity
|
||||
asserts:
|
||||
- failedTemplate:
|
||||
errorMessage: Invalid option (invalid_affinity). Valid options are ClientIP and None
|
||||
errorMessage: Invalid option (invalid_affinity) for <sessionAffinity>. Valid options are ClientIP and None
|
||||
|
||||
- it: should fail with invalid timeoutSeconds in sessionAffinityConfig negative
|
||||
set:
|
||||
|
||||
@@ -70,26 +70,8 @@ spec:
|
||||
externalTrafficPolicy: {{ . }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- with $svcValues.sessionAffinity }}
|
||||
{{- if not (has . (list "ClientIP" "None")) -}}
|
||||
{{- fail (printf "Invalid option (%s). Valid options are ClientIP and None" .) -}}
|
||||
{{- end }}
|
||||
sessionAffinity: {{ . }}
|
||||
{{- if eq . "ClientIP" -}}
|
||||
{{- with $svcValues.sessionAffinityConfig -}}
|
||||
{{- with .clientIP -}}
|
||||
{{- if hasKey . "timeoutSeconds" }}
|
||||
{{- $timeout := tpl (toString .timeoutSeconds) $root -}}
|
||||
{{- if or (lt (int $timeout) 0) (gt (int $timeout) 86400) -}}
|
||||
{{- fail (printf "Invalid value (%s) for <sessionAffinityConfig.ClientIP.timeoutSeconds>. Valid values must be with 0 and 86400" $timeout) -}}
|
||||
{{- end }}
|
||||
sessionAffinityConfig:
|
||||
clientIP:
|
||||
timeoutSeconds: {{ $timeout }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- if $svcValues.sessionAffinity -}}
|
||||
{{- include "ix.v1.common.class.serivce.sessionAffinity" (dict "svc" $svcValues "root" $root) | nindent 2 -}}
|
||||
{{- end -}}
|
||||
{{- with $svcValues.externalIPs }}
|
||||
externalIPs:
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
{{- define "ix.v1.common.class.serivce.sessionAffinity" -}}
|
||||
{{- $svc := .svc -}}
|
||||
{{- $root := .root -}}
|
||||
|
||||
{{- if not (has $svc.sessionAffinity (list "ClientIP" "None")) -}}
|
||||
{{- fail (printf "Invalid option (%s) for <sessionAffinity>. Valid options are ClientIP and None" $svc.sessionAffinity) -}}
|
||||
{{- end }}
|
||||
sessionAffinity: {{ $svc.sessionAffinity }}
|
||||
{{- if eq $svc.sessionAffinity "ClientIP" -}}
|
||||
{{- with $svc.sessionAffinityConfig -}}
|
||||
{{- with .clientIP -}}
|
||||
{{- if hasKey . "timeoutSeconds" -}}
|
||||
{{- $timeout := tpl (toString .timeoutSeconds) $root -}}
|
||||
{{- if or (lt (int $timeout) 0) (gt (int $timeout) 86400) -}}
|
||||
{{- fail (printf "Invalid value (%s) for <sessionAffinityConfig.ClientIP.timeoutSeconds>. Valid values must be with 0 and 86400" $timeout) -}}
|
||||
{{- end }}
|
||||
sessionAffinityConfig:
|
||||
clientIP:
|
||||
timeoutSeconds: {{ $timeout }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
Reference in New Issue
Block a user