getsentry / getsentry/self-hosted

[Discussion] Self-Hosted Manager Binary

Open
#4,360 10 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.