Я настраиваю приложение весенней загрузки для извлечения значений из хранилища 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 вместо написания пользовательского кода конфигурации?