首页 > 解决方案 > Helm 模板没有以适当的缩进呈现

问题描述

我正在尝试对此进行 helm- template Secret

kind: Secret
apiVersion: v1
metadata:
  name: my-roles-secret
stringData:
  roles.yml: |-
    click_admins:
      run_as: [ 'clicks_watcher_1' ]
      cluster: [ 'monitor' ]
      indices:
      - names: [ 'events-*' ]
        privileges: [ 'read' ]
        field_security:
          grant: ['category', '@timestamp', 'message' ]
        query: '{"match": {"category": "click"}}'

这是我的模板

{{ if .Values.customRoles }}
{{ if .Values.customRoles.enabled }}
kind: Secret
apiVersion: v1
metadata:
  name: my-roles-secret
stringData:
  roles.yml: |-
    {{ .Values.customRoles.definition -}}
{{ end }}
{{ end }}

和相应的值

customRoles:
  enabled: true
  definition: |-
      click_admins:
        run_as: [ 'clicks_watcher_1' ]
        cluster: [ 'monitor' ]
        indices:
        - names: [ 'events-*' ]
          privileges: [ 'read' ]
          field_security:
            grant: ['category', '@timestamp', 'message' ]
          query: '{"match": {"category": "click"}}'

为什么我得到以下输出?

helm template -f values.yaml
(...)

kind: Secret
apiVersion: v1
metadata:
  name: my-roles-secret
stringData:
  roles.yml: |-
    click_admins:
  run_as: [ 'clicks_watcher_1' ]
  cluster: [ 'monitor' ]
  indices:
  - names: [ 'events-*' ]
    privileges: [ 'read' ]
    field_security:
      grant: ['category', '@timestamp', 'message' ]
    query: '{"match": {"category": "click"}}'

为什么click_admins缩进这么严重?

如何使用 helm 模板生成第一个片段?

标签: kubernetes-helmgo-templates

解决方案


definition: |-
      click_admins:

    {{ .Values.customRoles.definition -}}

两者都有前导空格。所以空格被包含两次。


推荐阅读