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
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.