Hydrate JSON, YAML, TOML config files.
Replace all matching string values with strings/secrets from AWS SSM Param Store.
"$SECRET:/custom/parameter/path"
"$$"
"$SECRET"
hydrate no-secrets.json > secrets.json
echo "data: $SECRET:/app/sit1/app_secret_data_key" | hydrate --format=yml - > secret.yml
hydrate -k8s k8s-secret.yml | kubectl apply -
For each YAML object in the input file:
- If object matches
kind: Secret
, hydratedata
andstringData
maps. - If object matches
kind: ConfigMap
, hydratedata
andbinaryData
maps. - Else, leave the object untouched.
Hydrate automatically handles base64-encoded values and hydrates both plain values
and .yml
, .json
and .toml
config files stored within the above maps.
PATH VALUE
/custom/parameter/path a
/prefix/db_passwd bb
/prefix/db_pwd ccc
{
"db_password": "$SECRET:/custom/parameter/path",
"db_passwd": "$$",
"db_pwd": "$SECRET",
}
hydrate --path=/prefix input.json > output.json
{
"db_password": "a",
"db_passwd": "bb",
"db_pwd": "ccc",
}