Sentry, feature-complete and packaged up for low-volume deployments and proofs-of-concept.
Documentation on the Self-Hosted Sentry project here.
Folio's use case falls in the "low-volume deployments" category mentioned above.
We run Self-Hosted Sentry from the folio branch of this fork on a dedicated virtual machine in Google Cloud.
Folio's fork of the Self-Hosted Sentry project deviates slightly from the "official" Self-Hosted Sentry:
| What | Default | Folio |
|---|---|---|
| Postgres | Run Postgres as part of the Docker Compose stack | Use a Cloud SQL instance (and configure the connection via the environment) |
| Sentry secret key | No idea what they actually want us to do | Configure via the environment |
| Sentry URL prefix | No idea what they actually want us to do | Configure via the environment |
| Google SSO | Configure manually (in the Sentry UI) | Configure via the environment |
| Slack integration | Configure manually (in the Sentry UI) | Configure via the environment |
| GitHub integration | Configure manually (in the Sentry UI) | Configure via the environment |
| Send automatic reports Sentry | Yes | No (configured by setting REPORT_SELF_HOSTED_ISSUES="0") |
Sentry uses "calendar versioning", so they release:
- One
minorversion on (or just after) the 15th of every month (for example, the November 2024 primary release is tagged24.11.0) - (As needed)
patchversions to fix any issues in the previous version (for example, the first November 2024 patch release is tagged24.11.1)
The Slack channel #sentry-releases is subscribed to new Self-Hosted Sentry releases. Join it so you don't have to remember to check for new releases.
If we have to upgrade through several versions, remember to check if there are any relevant hard stop versions that we cannot skip.
When a new version of Self-Hosted Sentry is released, we can upgrade to it as follows.
(Using the November 2024 primary release (24.11.0) as an example)
$ git checkout folio(be on the Folio branch)$ git pull(pull any changes on thefoliobranch, and fetch the new tag)$ git merge 24.11.0(merge the new version into thefoliobranch)- (Resolve any merge conflicts, keeping this fork's intended deviations from the main branch in mind)
$ git commit(commit the merge)$ git tag 24.11.0-folio(tag the merge commit as${SENTRY_VERSION}-folio)$ git push(push the merge commit)$ git push --tags(push the tag)- Head over to the
infrarepo and follow the steps to deploy a new version.
Working on it. Don't restart manually. Restart through Pulumi! Otherwise you won't have the required environment variables.
You must possibly trick Pulumi into thinking it's doing an actual upgrade to do this, creating a new tag. Creating a tag that points to the same git ref doesn't seem to work.