_validation.tpl 977 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. {{/* RBAC Primary Validation */}}
  2. {{/* Call this template:
  3. {{ include "ix.v1.common.lib.rbac.primaryValidation" $ -}}
  4. */}}
  5. {{- define "ix.v1.common.lib.rbac.primaryValidation" -}}
  6. {{/* Initialize values */}}
  7. {{- $hasPrimary := false -}}
  8. {{- $hasEnabled := false -}}
  9. {{- range $name, $rbac := .Values.rbac -}}
  10. {{/* If rbac is enabled */}}
  11. {{- if $rbac.enabled -}}
  12. {{- $hasEnabled = true -}}
  13. {{/* And rbac is primary */}}
  14. {{- if and (hasKey $rbac "primary") ($rbac.primary) -}}
  15. {{/* Fail if there is already a primary rbac */}}
  16. {{- if $hasPrimary -}}
  17. {{- fail "RBAC - Only one rbac can be primary" -}}
  18. {{- end -}}
  19. {{- $hasPrimary = true -}}
  20. {{- end -}}
  21. {{- end -}}
  22. {{- end -}}
  23. {{/* Require at least one primary rbac, if any enabled */}}
  24. {{- if and $hasEnabled (not $hasPrimary) -}}
  25. {{- fail "RBAC - At least one enabled rbac must be primary" -}}
  26. {{- end -}}
  27. {{- end -}}