如何在Helm configMap中包含文件内容后控制缩进?

问题描述 投票:0回答:1

我正在为我的头盔图设置一个ConfigMap。

根据良好实践,我希望通过单独的文件而不是内联来包含非yaml资源。目前我正在尝试在“数据”下的ConfigMap中包含xml文件和tpl帮助器。在下面的代码中,两者都没有问题。但我似乎无法使键的缩进正常工作。

我的ConfigMap:

apiVersion: v1
kind: ConfigMap
metadata:
    name: {{ template "name" . }}
    labels:
        app: {{ template "name" . }}
        chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
        release: {{ quote .Release.Name }}
        heritage: {{ quote .Release.Service }}
        name: {{ template "name" . }}
data:
    logback.xml: |-
        {{- .Files.Get "application-resources/logback.xml" | nindent 8 -}}
    application.yml: |-
        {{- include "application.yml" . | nindent 8 -}}

这会产生以下缩进(为了便于阅读,将删除实际值):

apiVersion: v1
kind: ConfigMap
metadata:
    name: erklaering-anden-lov-detektor-app
    labels:
        app: name-of-app
        chart: name-of-chart
        release: "release-name"
        heritage: "Tiller"
        name: name-of-app
data:
    logback.xml: |-
      <?xml version="1.0" encoding="UTF-8"?>
      <configuration scan="true">
          <xml-stuff>
      </configuration>
      application.yml: |-    
      application.yml.contents

应该是:

apiVersion: v1
kind: ConfigMap
metadata:
    name: erklaering-anden-lov-detektor-app
    labels:
        app: name-of-app
        chart: name-of-chart
        release: "release-name"
        heritage: "Tiller"
        name: name-of-app
data:
    logback.xml: |-
      <?xml version="1.0" encoding="UTF-8"?>
      <configuration scan="true">
          <xml-stuff>
      </configuration>
    application.yml: |-    
      application.yml.contents

我的智慧结束了。我究竟做错了什么?如何让yaml快速恢复识别configMaps自己的缩进和/或明确控制它?

kubernetes kubernetes-helm go-templates
1个回答
0
投票

试试这个:

data:
    logback.xml: |-
        {{- .Files.Get "application-resources/logback.xml" | nindent 8 }}
    application.yml: |-
        {{- include "application.yml" . | nindent 8 -}}

我从第3行删除了“ - ”,因为它删除了以下空格。

你也可以看看这个GitHub问题#3470

如果您需要更多帮助,可以查看Chart Development Tips and Tricks的文档

© www.soinside.com 2019 - 2024. All rights reserved.