A heads up on a set of new important features in Bootique that streamline cloud app deployments. Traditionally Bootique would allow to load configuration from YAML, JSON, CLI switches and shell vars. But in cloud environments some sort of secret manager is often in use, and you'd like your app to grab values from it directly. So we did a couple of things in Bootique to make it happen:
1. A pluggable configuration loading pipeline [1] with an API to chain multiple sources of configuration so that data from a preceding source can be fed to subsequent sources that can load their own configuration and merge it to a common in-memory JSON tree.
2. An implementation of a config loader that gets its data from AWS Secrets Manager [2]:
// enable AWS config loading
AwsSecretsModule.extend(b).loadConfigurationFromSecrets();
// specify which secrets you want to load and where you want
// to merge them on the main config tree
awssecrets:
secrets:
- awsName: mySecret
mergePath: jdbc.mydb
This code is available as part of "io.bootique.aws:bootique-aws-secrets" module (version 2.0.B1-SNAPSHOT). Appreciate feedback and suggestions.
Merry Christmas!
Andrus
[1]
https://github.com/bootique/bootique/issues/300
[2]
https://github.com/bootique/bootique-aws/issues/5