human-essentials icon indicating copy to clipboard operation
human-essentials copied to clipboard

Add deployment process for migration to fly.io infrastructure

Open edwinthinks opened this issue 3 years ago • 0 comments

Description

This PR makes the necessary modifications to be able to deploy the Human Essentials application to fly.io. We are making this change because the credits to our current infrastructure provider (Heroku) is running out AND fly.io has agreed to give us 1k annually on credits!

DEPLOYMENT TO PRODUCTION NOT YET READY! WILL REQUIRE DB MIGRATION FROM AZURE TO FLY

Here are some important things to note:

  • This removes the use of credentials and the requirement for a master key. This isn't actually used and we prefer to keep our secrets in ENV variables.
  • Auto deploy to https://human-essentials-staging.fly.dev/ when updates on main are made.
  • Added clockwork gem to replace our Heroku Scheduler which is used to periodically run the reset seed on staging.
  • Adds a fly.toml file which provides instructions on deployment
  • Adds a Dockerfile which is used by fly.io to build our application.
  • Documentation added to explain how to deploy & release.

You can visit the staging site at - https://human-essentials-staging.fly.dev/

Type of change

  • New feature (non-breaking change which adds functionality)
  • Documentation update

How Has This Been Tested?

I'd like a volunteer to run deployment onto production. Otherwise, I've only tested this myself.

Screenshots

N/A

edwinthinks avatar Aug 06 '22 18:08 edwinthinks