Add helm checks for label constraints
This commit is contained in:
parent
ba73e39fa9
commit
d479af7342
|
|
@ -84,6 +84,14 @@ spec:
|
|||
runnerGroup: {{ .Values.scaleset.runnerGroup | quote }}
|
||||
runnerScaleSetName: {{ .Values.scaleset.name | quote }}
|
||||
{{- if and .Values.scaleset.labels (kindIs "slice" .Values.scaleset.labels) }}
|
||||
{{- range .Values.scaleset.labels }}
|
||||
{{- if empty . }}
|
||||
{{- fail "scaleset.labels contains an empty string, each label must be a non-empty string of less than 256 characters" }}
|
||||
{{- end }}
|
||||
{{- if ge (len .) 256 }}
|
||||
{{- fail "scaleset.labels contains a label that is 256 characters or more, each label must be a non-empty string of less than 256 characters" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
runnerScaleSetLabels:
|
||||
{{- toYaml .Values.scaleset.labels | nindent 4 }}
|
||||
{{- end }}
|
||||
|
|
|
|||
|
|
@ -21,4 +21,38 @@ tests:
|
|||
value: "linux"
|
||||
- equal:
|
||||
path: spec.runnerScaleSetLabels[1]
|
||||
value: "x64"
|
||||
value: "x64"
|
||||
|
||||
- it: should fail when a scaleset label is empty
|
||||
set:
|
||||
scaleset.name: "test"
|
||||
scaleset.labels:
|
||||
- "linux"
|
||||
- ""
|
||||
auth.url: "https://github.com/org"
|
||||
auth.githubToken: "gh_token12345"
|
||||
controllerServiceAccount.name: "arc"
|
||||
controllerServiceAccount.namespace: "arc-system"
|
||||
release:
|
||||
name: "test-name"
|
||||
namespace: "test-namespace"
|
||||
asserts:
|
||||
- failedTemplate:
|
||||
errorMessage: "scaleset.labels contains an empty string, each label must be a non-empty string of less than 256 characters"
|
||||
|
||||
- it: should fail when a scaleset label is 256 characters or more
|
||||
set:
|
||||
scaleset.name: "test"
|
||||
scaleset.labels:
|
||||
- "linux"
|
||||
- "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||
auth.url: "https://github.com/org"
|
||||
auth.githubToken: "gh_token12345"
|
||||
controllerServiceAccount.name: "arc"
|
||||
controllerServiceAccount.namespace: "arc-system"
|
||||
release:
|
||||
name: "test-name"
|
||||
namespace: "test-namespace"
|
||||
asserts:
|
||||
- failedTemplate:
|
||||
errorMessage: "scaleset.labels contains a label that is 256 characters or more, each label must be a non-empty string of less than 256 characters"
|
||||
|
|
@ -75,6 +75,14 @@ spec:
|
|||
runnerScaleSetName: {{ . }}
|
||||
{{- end }}
|
||||
{{- if and .Values.scaleSetLabels (kindIs "slice" .Values.scaleSetLabels) }}
|
||||
{{- range .Values.scaleSetLabels }}
|
||||
{{- if empty . }}
|
||||
{{- fail "scaleSetLabels contains an empty string, each label must be a non-empty string of less than 256 characters" }}
|
||||
{{- end }}
|
||||
{{- if ge (len .) 256 }}
|
||||
{{- fail "scaleSetLabels contains a label that is 256 characters or more, each label must be a non-empty string of less than 256 characters" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
runnerScaleSetLabels:
|
||||
{{- toYaml .Values.scaleSetLabels | nindent 4 }}
|
||||
{{- end }}
|
||||
|
|
|
|||
Loading…
Reference in New Issue