Настройте хранилище пружин для автоматического ввода секретов из пользовательского пути - PullRequest
0 голосов
/ 28 февраля 2020

Я настраиваю приложение весенней загрузки для извлечения значений из хранилища hashicorp. Моя настройка -

H C Укажите секрет -

vault kv put secret/custom/env/platform/ticket-service username="hotel-user"

Приложение Spring - Bootstrap .properties

spring.application.name=ticket-service
spring.cloud.vault.token=${VAULT_TOKEN}

spring.cloud.vault.scheme=http
spring.cloud.vault.uri=${VAULT_HOST_HTTPS}
spring.cloud.vault.host=${VAULT_HOST}
spring.cloud.vault.authentication=TOKEN

spring.cloud.vault.generic.enabled=false
spring.cloud.vault.kv.enabled=false

Свойства моего приложения -

app.user=${user}

Основной класс -

@VaultPropertySource(value = "secret/data/custom/env/platform/ticket-service")
public class TicketServiceApplication {

    @Value("${app.user}")
    private String username;
}

Когда я запускаю приложение, журналы показывают, что пружина сделать вызов в хранилище на нужном пути и вернуть результат.

 "{"request_id":"XXXXXXXX","lease_id":"","renewable":false,"lease_duration":0,"data":{"data":{"username":"hotel-user"},"metadata":{"created_time":"XXX","deletion_time":"","destroyed":false,"version":8}},"wrap_info":null,"warnings":null,"auth":null}[\n]"
[restartedMain] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 200 OK

но я ожидаю, что библиотека вставит значение в заданную переменную, но это не так.

документация объясняет использование VaultTemplate (и это работает), но это Есть ли способ делегировать инъекцию Spring вместо написания пользовательского кода конфигурации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...