getsentry / getsentry/self-hosted
[Discussion] Self-Hosted Manager Binary
- Dominant language
- Shell
- Stars
- 9.6k
- Forks
- 2k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 12
Description
> [!IMPORTANT]
> This is a discussion about what to do moving forward. Feel free to comment, or just vote using 👍 / 👎 / any emoji you think best.
### Problem Statement
Currently the install script is running in Bash, which is both hard to read, hard to write and hard to maintain. We should do something about it.
### Solution Brainstorm
Currently the Bash scripts handles everything: install, backup, restore, upgrade, config generation, cleanup.... so many things, so much unreadable code. Burak (@BYK) asked me a few months back, "What do you think of rewriting the `install.sh` into Go or Bun, and package it into single binary?". At first, yes it would disrupt how upgrades are currently being done (using `git fetch`, `git checkout ...`), but other than that, I think anything other than Bash would be great.
There is also Amber language (https://amber-lang.com/), which transpile to Bash. Still early, not big of a community.
Contributor guide
Research direction
Start by reading the existing install.sh and mapping the install, backup, restore, upgrade, config-generation, and cleanup responsibilities it handles. Compare the proposed Go or Bun binary direction with the current git fetch and git checkout upgrade flow; done requires an agreed implementation path and scope, since this issue is still a discussion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, bun, go
- Domain
- devops, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100