Build Scripts

Scripts that assist with building and managing configurations.

Recursively compiles all config.jsonnet into config.json. Use this recipe as a guide for compiling configurations:

AWS

Manages the upload and deployment of configurations in AWS AppConfig.

Enumerates hosted configurations in AppConfig and retrieves each profile's latest version, uploads local configurations, and deploys configurations if they have changed. AppConfig increments the version number of hosted configurations when new (non-duplicate) content is uploaded, so this script uploads all local configurations and uses the returned version number to determine if deployment is needed. This is intended to be deployed to a CI/CD pipeline (e.g., GitHub Actions, Circle CI, Jenkins, etc.) for automated configuration management.

Example use: SUBSTATION_CONFIG_DIRECTORY=examples/aws/config AWS_APPCONFIG_APPLICATION_NAME=substation AWS_APPCONFIG_ENVIRONMENT=prod AWS_APPCONFIG_DEPLOYMENT_STRATEGY=Instant python3 appconfig_upload.py

Deletes application profiles, including hosted configurations, in AWS AppConfig.

Enumerates hosted configurations in AppConfig for a user-defined application profile and deletes each configuration. When all configurations are deleted, the profile is deleted.

Example use: AWS_APPCONFIG_APPLICATION_NAME=substation AWS_APPCONFIG_PROFILE_NAME=foo python3 appconfig_delete.py