Как провалить релиз руля на основе входных данных в values.yaml - PullRequest
1 голос
/ 02 апреля 2019

Я устанавливаю таблицу управления с помощью команды helm install.У меня есть values.yaml, который принимает несколько входных данных от пользователя.Одним из ключей в values.yaml является action , который может принимать только три предопределенных значения (скажем, action1 , action2 и action3 ) в качестве входа.Любое другое значение, кроме этого, недопустимо.

Когда пользователь вводит значение в поле действия в values.yaml и запускает команду helm install, первое, что мне нужно проверить, это то, что если Ключ действия имеет допустимое значение или нет.Если значение action недопустимо, я хочу, чтобы выпуск не удался с правильным сообщением об ошибке.

Например: если пользователь дал action: action4, это недопустимо и выпускдолжен произойти сбой, поскольку .Values.action может быть только action1 , action2 или action3 .

Как мне добиться этого сценария использования и какой файллучше всего справиться с этой проверкой, учитывая структуру руля?

Ответы [ 2 ]

3 голосов
/ 03 апреля 2019

Мне удалось добиться варианта использования с приведенными ниже изменениями.Добавлен следующий код в _helpers.tpl

{{- define "actionValidate" -}}
  {{ $action := .Values.actions }}
  {{- if or (eq $action "action1") (eq $action "action2") (eq $action "action3") -}}
    true
  {{- end -}}
{{- end -}}

. Вызвал эту функцию из файла .tpl следующим образом: -

{{ include "actionValidate" .  | required "Action value is incorrect. The valid values are 'action1', 'action2', 'action3' " }}
1 голос
/ 03 апреля 2019

Helm использует шаблонизаторы Go, так что вы можете добавить несколько пользовательских трюков. Прочитайте следующий ресурс: https://github.com/helm/helm/blob/master/docs/charts_tips_and_tricks.md. Вы можете проверить, подходят ли вам некоторые уже предоставленные функции, например, required.

...