The application and environment settings are split into separate configuration management files. Application settings are those which have the same value, for the release, in all environments.
context target region runtime_version java_version release_channel
container patient-summary-app cloudhub-us-east-2 4.6.7 8 LTS
container sprint-zero-app cloudhub-us-east-2 4.7.1 17 Edge
Environment specific settings are associated to a given component, and differ for each environment. Note the special marker for sensitive data.
context target FHIR_SERVER_PROTOCOL FHIR_SERVER_HOST FHIR_SERVER_PORT FHIR_SERVER_BASE DD_API_KEY
container patient-summary-app-tst HTTPS demo.kodjin.com 443 /fhir/
container patient-summary-app-prd HTTPS server.fire.ly 443 /r4/ PROTECT:${DD_API_KEY}
At deploy time, an array is constructed combining the application settings and the environment properties. A SHA-256 hash is generated from each array, to provide an identification mechanism of state, without disclosing any of the settings, some of which maybe sensitive.
After deployment, these are persisted. In this example, they are stored in an Atlassian Confluence page. The advantage of this is that if it is desired to reset an environment after suspected manual interference, the record(s) can be deleted and the deployment rerun.