A CDK pipeline for deploying REMS into the UMCCR environments.
REMS is software that facilitates applications for controlled datasets.
For this UMCCR pipeline, REMS is deployed to the data control account/
New deployments are triggered on commits to Github main. Promotion to production needs to be approved manually in the builds account.
The rems-cmd.sh
is a tool that can be used to maintain backend configuration of the REMS
instance. This means that it can trigger database migrations, set admin users, create API
keys etc.
rems-cmd.sh
works by invoking a lambda which in turn triggers a Fargate Task to spin up
the desired admin command. IT MUST BE INVOKED IN THE ACCOUNT OF THE DEPLOYMENT. That is,
whereas all other build/deployment is controlled by CDK Pipelines rooted in the Build
account - the maintenance utility must be run from an AWS environment logged into the deployment
account (either Dev or Prod).
As an example here is the process to upgrade REMS.
- Change the
application/rems-docker-image/Dockerfile
to download the new desired version. - Commit the change to github main.
- After the codepipeline finishes the dev deployment - using dev credentials - execute
./rems-cmd.sh "migrate"
- Confirm that the dev instance is working at
https://rems.dev.umccr.org
- Promote the changes to prod
- Do the migrate command again, but this time in the prod account.