Как убрать новую строку, добавленную с .toYaml в helm? - PullRequest
0 голосов
/ 11 октября 2019

Я добавил следующий раздел в values.yaml рулевой диаграммы:

   extraEnv:
      - name: APPSERVER_RETURN_CLIENT_ERRORS
        value: true

И использовал эти значения в deploy.yaml как:

  env:
    - name: DYNA_GATEWAY_HOST
      value: "$(DYNAGATEWAY_SERVICE_HOST)"
  {{- with .Values.extraEnv }}
    {{- toYaml . | nindent 12 }}
  {{- end }} 

Но когда он читает,после раздела env добавляется новая строка:

  imagePullPolicy: Always
  env:
    - name: DYNA_GATEWAY_HOST
      value: "$(DYNAGATEWAY_SERVICE_HOST)"
    - name: APPSERVER_RETURN_CLIENT_ERRORS
      value: true

  ports:

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 11 октября 2019

Функция Sprig trim удаляет начальные и конечные пробелы. С точки зрения конвейера, вы хотите сделать это до того, как nindent поставит перед ним ведущий символ новой строки.

{{- toYaml . | trim | nindent 12 }}

Ваш другой вариант, если вы знаете, toYaml всегда будет включать в себя завершающий символ новой строки (всякий раз, когда .Values.extraEnv является непустым списком или словарем), он пытается подавить пропуски вокруг него

{{- with .Values.extraEnv }}
  {{- toYaml . | nindent 12 }}
{{/*   vvv add this hyphen */}}
{{- end -}}

, но это может помешать отступу в следующей строке.

...