我很难确定渲染的 Helm Chart 模板的一部分是否在技术上有缺陷并且将来可能会让我失望。有问题的 YAML 现在被 Helm (lint) 和 Kubernetes 接受用于部署。
背景
据我所知,在 YAML 中任何有效使用多行块式指示符“|”都应该跟在换行符之后,然后是从下一行开始的所需内容。
foo: |
[start content indented two spaces]
问题
就我而言,Helm 正在生成以下内容,Helm linting 和 Kubernetes 都接受了这些内容。请注意我注入的文件中的#与“|”在同一行。
common.runtime.properties: | #
#
app.flag.enabled=true
生成上述内容的模板如下所示:
common.runtime.properties: |
{{- .Files.Get (printf "envconfig/%s/my.properties" .Values.configEnvironment) | indent 4 }}
文件被正确读入,没有任何特殊字符。对我来说,无论我使用哪个版本的管道指示器,上述情况都是不可能发生的。
上面的格式真的有效吗? YAML 规范没有具体解决这个问题,但所有示例都有一个换行符跟在 block chomping 指示符 |.
我查看了 YAML 规范和许多文章,我可以找到与上述匹配的主题。
• 错误 C2440: 'initializing' : 不能从'const mynamespace::mytype*'转换为'const T*'。
• 将 jinja2 变量传递给 python 脚本并使用输出作为 jinja2 模板中的变量
• ModuleNotFoundError:没有名为“module_name”的模块
• 通过 Foundry 模板部署 Ontology Actions 时,我得到了 OntologyMetadata:InvalidApiNameFormat
• 指定 TextTemplatingFilePreprocessor t4 文件的输出命名空间
• Angular2 茉莉花测试失败,内联模板:0:0 原因:null 不是对象
• 如何在 JavaScript 运行时在模板文字中设置模板和参数
• 执行 bin 文件时出现 Ansible 非零 rc 错误
• 我在 iOS 中安装谷歌地图时出现错误,以响应本机版本 0.71.6
• 错误:令牌无效。应为 stringEnd 但发现标签开始为“{%”
• 禁用或删除缓存 - twigphp/cache-extra
• “TemplateSyntaxError Invalid block tag: 'trans'” Django 模板中的错误