A prototype implementation of API endpoints for publishing and consuming digital Traffic Regulation Orders.
To run the solution on Linux/OS X, use the following commands.
make docker-build
make docker-run
If you are running on a Windows host, please see the contents of the Makefile in the directory root for individual docker commands to build, run and launch the service.
To deploy this project, the following GCP APIs need to be enabled at a project level:
- Cloud Domains API
- Cloud DNS API
- Firestore API
- Compute Engine API
- Artifact Registry API
- Cloud Run API
- Cloud Resource Manager API
- Identity and Access Management (IAM) API
- Service Usage API
To support account switching (but with single variable files), when initialising terraform you must first make sure that the DEPLOY_ENVIRONMENT environment variable has been set. For the development GCP environment, this should be set to "default". For deployment to a release environment, this should be set to "dft-gcp". Terraform code has been configured to reconcile the appropriate variables by drawing these from the terraform/configuration/environments/${DEPLOY_ENVIRONMENT}.tfvars file.
As an applied example, the following commands will initialise terraform and select the workspace for the development account:
export DEPLOY_ENVIRONMENT=default
make init
To simplify/automate the initialisation and selection of workspaces - make sure to the make
commands in the terraform directory.
Sample requests can be found in the src/DfT.DTRO/Schemas directory.