Currently, I have the following configuration provided configuration that I use to store both secrets and non-secrets externally :
config.providers=myProvider
config.providers.vault.class=com.MyCustomProvider
config.reload.action=none
And I am currently using it to do the following :
listeners.https.ssl.key.password=${myProvider:path:certs.password}
rest.advertised.port=${myProvider:path:8083}
While this works well for string values, this does not seem to work well when there are numbers as it produces a class cast exception at runtime when the types are not matched.
As far as I understand, ConfigData
needs to return a Map<String,String>
and that limits my options