我正在尝试将配置文件的内容放入public byte[] bytesFromPath(final String path) throws IOException {
return Files.readAllBytes(Paths.get(path));
}
中并获取它。
例如:
这是values.yaml:
.content(bytesFromPath(new ClassPathResource("file-name").getPath()));
这是一个configMap,我应该将内容放在其中:
values.yaml
在“ HELM”标签中,我尝试了configuration: |
[core]
# Some comments
my_folder = /usr/local/my_folder
# The folder where my app should store its log files
# This path must be absolute
base_log_folder = /usr/local/app/logs
# Logging options
remote_logging = False
remote_log_conn_id =
remote_base_log_folder =
encrypt_logs = False
和apiVersion: v1
kind: ConfigMap
metadata:
name: "{{ template "app.fullname" . }}-config"
data:
my.cfg: |
{{ HELM }}
的几个选项,但都没有达到我的目标。
作为非最佳解决方案,我将tpl
的内容放入文件中,然后使用
include
请问关于将所有内容都包含在configuration
中的建议。预先谢谢你。
答案 0 :(得分:0)
当您在YAML上使用|
时,您正在定义Multiline YAML String,这意味着您的configuration
键具有单个字符串值,并带有换行符({{1 }}。
您可以像这样简单地定义ConfigMap模板:
\n
渲染后,生成的ConfigMap将部署为:
apiVersion: v1
kind: ConfigMap
metadata:
name: "{{ template "app.fullname" . }}-config"
data:
my.cfg:
{{- toYaml $.Values.configuration | nindent 4 }}