Skip to content

Make self-hosted backup/restore work excellently #104

@hubertdeng123

Description

@hubertdeng123

Currently, the backup/restore workflow experience is not great, and users are unhappy about it. Backup/restore is best practices for upgrading self-hosted versions, and is particularly important when the postgres version or our DB models change. It is also used for migrating from self-hosted to SaaS. The issue about backup/restore being broken is the most commented open source issue in the Sentry repo, and has as many unique commenters as the most commented issues in the self-hosted repo.

Screen Shot 2023-01-17 at 9 41 24 AM

Backup/restore is also important for users that want to migrate to SaaS. To make this experience better, we should

Self-hosted issues:

  1. Fix backup/restore flow sentry#36868
  2. sentry_environment is not backed up and breaks alerts logic self-hosted#1965
  3. DB duplicate key violation errors during backup/restore self-hosted#1972

SaaS related concerns:

  1. Make sure the documented workflow for migrating works
  2. See if we can make the self-hosted to SaaS migrations we handle easier for ourselves

Future possibilities enabled from this ticket:

  1. Migrate data from a single org deployment of Sentry to a multi-org one self-hosted#1403
  2. One-click SaaS migration
  3. Migration from one region to another (e.g. US -> EU)

Task list:

  1. Try following SaaS migration docs and self-hosted backup/restore docs and see what breaks. Experiment with changing settings to work different parts of what is backed up.
  2. Investigate and fix Deserialization errors during backup/restore
  3. Investigate and fix db integrity errors during backup/restore
  4. Write Sentry tests to cover what is currently broken with documented workflows.
  5. Fix backup restore to pass new Sentry tests
  6. Remove headers from backup/restore  self-hosted#1995
  7. Add integration tests for backup/restore workflow self-hosted#1918
  8. Dogfood backup/restore self-hosted#1986
  9. vanguard post

┆Issue is synchronized with this Jira Epic by Unito

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions