Шаблон файла Chart.yaml - PullRequest
       6

Шаблон файла Chart.yaml

1 голос
/ 11 января 2020

Я бы хотел использовать значения шаблона в моем файле Chart.yaml. Например, version: {{ .Values.version }} вместо version: 0.1.0

Для других файлов yaml вышеприведенное будет работать. Однако я понимаю, что Helm по-разному относится к Chart.yaml и файл Chart.yaml не запускается через механизм шаблонов .

Кто-нибудь знает обходной путь?

Фактическая ошибка, которую я получаю, если я пытаюсь это исправить (с version: 0.1.0 в качестве записи в моем файле values.yaml): error converting YAML to JSON: yaml: invalid map key: map[interface {}]interface {}{".Values.version":interface {}(nil)}

1 Ответ

1 голос
/ 11 января 2020

Вы думаете о проблеме в обратном направлении: укажите версию в Chart.yaml и получите версию, где вы ее используете в шаблонах; вы не можете иметь динамическую c версию в Chart.yaml, потому что helm repo index . не принимает --set или любой такой флаг и, таким образом, не может создать tgz для загрузки

. Таким образом, учитывая Chart.yaml:

apiVersion: v1
name: my-awesome-chart
appVersion: 0.1.0
version: 1.2.3

и шаблон Deployment.yaml:

{{ $myTag := .Chart.Version }}
{{/* or, you can use .Chart.AppVersion */}}
apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      containers:
      - image: docker.example.com:{{ $myTag }}
        # produces: docker.example.com:1.2.3
...