Lotus AI Logo 

AWS Deployment

The Github accounts and AWS

Github Repositories

Public Medplum Fork

Every fork of the Medplum repository is a public repository

The Medplum fork is an identical copy of the original repository, except for a few scripts we added

We avoid making changes in any file, or having name collisions to prevent errors merging

Keeping the repo clean allows us to easily merge changes from the original repository

Update to the latest Medplum

To merge changes from the original repository, click on the sync fork button in the Github UI p Sync Fork

When a fork is up to date, it will show a green checkmark

Synced Fork

Private Lotus Repositories

Developers with access, can create and merge pull request in this repo to release new versions of the app

Automatic deployments

Some repositories are configured to deploy automatically after merging to main

lotus-ts in dev starts deploying automatically after a merge to main branch and it takes approximately 18 minutes to spin up new instances, decommission old instances, and update the load balancer to prevent downtime

Manual deployments

The medplum API, app, and every service in www must be deployed manually

To deploy, log in to the AWS console and navigate to the pipelines dashboard

AWS Developer Pipelines

Normally a feature is tested multiple times in dev, using postman and manual testing, to review that the previous functionality is unaffected

New versions of medplum can have backwards compability issues. Pay attention to datadog logs and see if new errors occur

Issues can present in the JSON structure of FHIR objects, or in the way AccessPolicy is handled

The medplum Changelog and documentation usually provide information on breaking changes

To deploy a new version, click on a pipeline and press the Release Change button

Release Change

Release a new version for the app:

Release App

Some changes to medplum or lotus might require configuration settings to be updated, such errors would be visible in datadog after deployment

Errors that prevent a deployment would be visible in the ECS logs

Related Documentation