Когда синтаксический анализатор Helm YAML читает в файле values.yaml
, он видит, что значение annotation:
представляет собой строку в одинарных кавычках , и поэтому сохраняет содержимое значения без внешних кавычек. .
Как предполагает спецификация YAML, вы можете включить одинарные кавычки в строку в одинарных кавычках, удвоив кавычку. Может быть более привычным сделать эту строку в двойных кавычках и использовать экранирование с обратной косой чертой. Третья возможность состоит в том, чтобы превратить это в блочный скаляр , который поместит значение в отдельную строку, но вообще не потребует экранирования.
annotation: '''"ports": {"88":"sandbox-backendconfig"}}'''
annotation: "'\"ports\": {\"88\":\"sandbox-backendconfig\"}}'"
annotation: >-
'"ports": {"88":"sandbox-backendconfig"}}'
ЯНе знаю, в каком контексте вы пытаетесь это использовать, но если это более структурированный формат, вы можете использовать функции toYaml
или toJson
Хелма, чтобы создать для вас значение аннотации.
# values.yaml
ports:
'88': sandbox-backendconfig
# templates/some-resource.yaml
annotations: {{ printf "\"ports\": %s" (toJson .Values.ports) | squote }}