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, hydratedataandstringDatamaps. - If object matches
kind: ConfigMap, hydratedataandbinaryDatamaps. - 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",
}