Skip to content

ref: Call Sentry server binary as sentry-server - #4600

Draft
sentry-junior[bot] wants to merge 1 commit into
masterfrom
rename-sentry-server-binary
Draft

sentry-junior[bot] wants to merge 1 commit into
masterfrom
rename-sentry-server-binary

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Rollout: sentry → sentry-server, getsentry → getsentry-server

Why: the new Sentry CLI ships a binary named sentry, which the server's console script shadows. Same rollout across all PRs below; keep this section in sync.

Phase 1: add new names and keep the old names as deprecated aliases (merge first)

Phase 2: move callers to the new names (after phase 1)

Phase 3: remove the aliases (only after prod manifests and self-hosted are confirmed off the old names)

  • getsentry/sentry: drop the sentry alias and clean up stale .venv/bin/sentry (TBD)
  • getsentry/getsentry: drop the getsentry alias (TBD)
  • Heads-up to sentry-kubernetes/charts (18+ templates use command: ["sentry"]) before the sentry alias is removed

The new Sentry CLI (getsentry/cli) installs a binary named sentry, which the server's console script shadows. getsentry/sentry is adding a sentry-server console script and keeping sentry as a deprecated alias in the image for a transition period. This switches the places self-hosted calls the server binary directly (bypassing the image entrypoint, which auto-prepends the binary for bare subcommands) over to sentry-server:

  • the bundled sentry-cleanup cron (gosu sentry sentry-server cleanup; the first sentry is still the OS user)
  • the integration tests' docker compose exec web sentry … calls
  • the generate-secret-key hint in the example configs (now also shows the docker compose run --rm web … form)
  • sentry-admin.sh help rewriting, so Usage: sentry-server … becomes Usage: ./sentry-admin.sh … instead of ./sentry-admin.sh-server; old Usage: sentry … output still works

Compose-wrapped commands (docker compose run --rm web upgrade, run web, run consumer, ./sentry-admin.sh …) go through the entrypoint and are unaffected. Applies to both fresh installs and upgrades; existing generated sentry/config.yml / sentry/sentry.conf.py are untouched (comment-only change in the examples). The external-kafka optional patches still apply.

Merge order: after the getsentry/sentry PR adding sentry-server (getsentry/sentry#129100) has shipped in the nightly image. .env pins SENTRY_IMAGE=ghcr.io/getsentry/sentry:nightly, so integration tests on this PR are expected to fail until then.

Suggested changelog note (CHANGELOG is generated by Craft, so not edited here):

Sentry server CLI renamed to sentry-server. The new Sentry CLI is also called sentry, so the server console script is now sentry-server; sentry stays as a deprecated alias in the image for now. Compose-wrapped commands (docker compose run --rm web upgrade, ./sentry-admin.sh …) work unchanged. Update direct calls such as docker compose exec web sentry …, custom cron jobs, --entrypoint overrides and Kubernetes command: ["sentry"] to sentry-server. The bundled cleanup cron is updated.

Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

via @joshuarli.

--

View Junior Session [Sentry]

Co-Authored-By: David Cramer <david@sentry.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

0 participants