Как сохранить кавычки при ссылке на значение с помощью заполнителей в YAML-файле с Spring Cloud Config? - PullRequest
2 голосов
/ 27 июня 2019

У меня есть пароль, оканчивающийся двоеточием, скажем abc:, который я хочу хранить зашифрованным в GIT и расшифровывать с помощью Spring Cloud Config. Вот ожидаемый файл YAML:

spring:
  datasource:
    password: "abc:"

Вот зашифрованный файл YAML:

spring:
  datasource:
    password: "{cipher}blablabla"

А вот что я получаю из Spring Cloud Config после расшифровки:

spring:
  datasource:
    password: abc:

Который интерпретируется как ключ вместо значения анализатором YAML.

Есть ли способ сообщить Spring Cloud Config, что я хочу заключить расшифрованное значение в кавычки или что-то подобное?

EDIT

Моя ошибка, сервер Spring Could Config фактически добавляет кавычки при необходимости после расшифровки строки. Итак, результат, как и ожидалось:

spring:
  datasource:
    password: 'abc:'

Проблема в том, что когда я ссылаюсь на это значение с помощью заполнителя, кавычки исчезают в процессе:

a_key:
  another_key: ${spring.datasource.password}

становится при обработке сервером Spring Could Config:

a_key:
  another_key: abc:

Таким образом, вопрос на самом деле заключается в следующем: как сохранить кавычки при обращении к значению с использованием заполнителей в файле YAML с помощью Spring Cloud Config?

1 Ответ

0 голосов
/ 27 июня 2019

Единственный способ, который я нашел до сих пор, - это оставить разрешение заполнителя на время выполнения, выбрав символ $:

a_key:
  another_key: \${spring.datasource.password}

В результате YAML, обслуживаемый сервером Spring Cloud Config, будет:

a_key:
  another_key: ${spring.datasource.password}

Ссылка на документацию Spring Cloud Config здесь

...