Error tracking - Discovery
Goals of discovery sprint
Understand at a high level how a Sentry integration could work, and the effort involved:
- Should Sentry be bundled within GitLab itself like Registry, or deployed as an external component like Jaeger?
- Can we run Sentry multi-tenant like Registry?
- How can AAA work in a multi-tenant fashion?
- Authentication, Authorization, Accounting
- Should we expose any UI? Who should send the emails?
- Is there a potential path of starting with Sentry as backend, and then eventually replacing with our own?
- Is the API complete for our initial needs?
Depending on these answers, we could then balance against the integrating Sentry vs. building it ourselves. There would be three primary axis to evaluate: UX, Capabilities, and Effort.
Licensing
Sentry is totally open source (not open core) and BSD licensed. They seem to make their money on their SaaS service. That said, they do have features that are restricted to specific plans. It's unclear if those are in the open source version or not.
Open source statement: https://sentry.io/_/open-source/
Deployment
Requirements:
- Dedicated domain
- PostgreSQL
- Redis
Official methods:
- Strongly recommend Docker
- Helm chart which deploys its own PG/Redis: https://github.com/helm/charts/tree/master/stable/sentry
- Python source installation
Competitive landscape
Sentry has their own integration with GitHub: https://sentry.io/integrations/github/