Remove the unauthenticated webhook and the SQLite migration script #14

Merged
niklas merged 1 commits from cleanup-after-teams into main 2026-09-20 16:14:15 +00:00
Owner

Both existed to carry an upgrade across, and both upgrades are done. Refs #4, #2.

The unauthenticated webhook

POST /api/alertmanager/webhook took no credential at all — anything able to reach the port could open an incident for anybody. v0.12.0 kept it, deprecated, so the teams release didn't stop delivery while the Alertmanager config was edited, and logged a line per payload asking to be moved.

The cluster's Alertmanager now posts on an integration key. Verified in terdut's own log: a POST to /api/integrations/…/alertmanager every two minutes, all 200, and no deprecation line since the rollout. So the door gets shut rather than left ajar until somebody remembers. A sender still posting there gets the JSON 404 every unknown /api path gets.

The tests move with it, which they should have done anyway. The harness now mints an integration key for the default team and posts on that, so they exercise the path production uses rather than one only they still used.

The migration script

scripts/sqlite-to-postgres.go was written to be temporary, was the last thing needing modernc.org/sqlite, and this install migrated on 2026-09-20. go mod tidy drops the driver and its transitive dependencies with it — the module graph is now just chi, pgx, pgerrcode and x/crypto.

Anyone still on v0.10.x can take the script out of the v0.12.0 tag, which the README now says:

git show v0.12.0:scripts/sqlite-to-postgres.go > sqlite-to-postgres.go

Verified

make fmt lint test helm-lint green with -race against Postgres 17, and govulncheck clean on the smaller graph.

Note for whoever releases this

This is breaking for any sender still on the old path. Nothing in this cluster is — that's what made it removable — but the tag body should say so plainly, and an install upgrading from v0.11.x must move its senders onto keys before taking v0.13.0 rather than after.

https://claude.ai/code/session_01RHPj4ggeFdEjKKfm4SHbD7

Both existed to carry an upgrade across, and both upgrades are done. Refs #4, #2. ### The unauthenticated webhook `POST /api/alertmanager/webhook` took no credential at all — anything able to reach the port could open an incident for anybody. v0.12.0 kept it, deprecated, so the teams release didn't stop delivery while the Alertmanager config was edited, and logged a line per payload asking to be moved. The cluster's Alertmanager now posts on an integration key. Verified in terdut's own log: a POST to `/api/integrations/…/alertmanager` every two minutes, all 200, and **no deprecation line since the rollout**. So the door gets shut rather than left ajar until somebody remembers. A sender still posting there gets the JSON 404 every unknown `/api` path gets. **The tests move with it, which they should have done anyway.** The harness now mints an integration key for the default team and posts on that, so they exercise the path production uses rather than one only they still used. ### The migration script `scripts/sqlite-to-postgres.go` was written to be temporary, was the last thing needing `modernc.org/sqlite`, and this install migrated on 2026-09-20. `go mod tidy` drops the driver and its transitive dependencies with it — the module graph is now just chi, pgx, pgerrcode and x/crypto. Anyone still on v0.10.x can take the script out of the `v0.12.0` tag, which the README now says: ```bash git show v0.12.0:scripts/sqlite-to-postgres.go > sqlite-to-postgres.go ``` ### Verified `make fmt lint test helm-lint` green with `-race` against Postgres 17, and `govulncheck` clean on the smaller graph. ### Note for whoever releases this This is **breaking for any sender still on the old path**. Nothing in this cluster is — that's what made it removable — but the tag body should say so plainly, and an install upgrading from v0.11.x must move its senders onto keys *before* taking v0.13.0 rather than after. https://claude.ai/code/session_01RHPj4ggeFdEjKKfm4SHbD7
niklas added 1 commit 2026-09-20 16:11:48 +00:00
Remove the unauthenticated webhook and the SQLite migration script
CI / chart (pull_request) Successful in 1s
CI / security (pull_request) Successful in 13s
CI / test (pull_request) Successful in 1m54s
7c87ae2af8
Both existed to carry an upgrade across, and both upgrades are done.

/api/alertmanager/webhook took no credential at all: anything able to
reach the port could open an incident for anybody. v0.12.0 kept it,
deprecated, so the teams release did not stop delivery while the
Alertmanager config was edited, and logged a line per payload asking to
be moved. The cluster's Alertmanager now posts on an integration key --
verified in the log, every two minutes, with no deprecation line since
the rollout -- so the door can be shut rather than left ajar until
somebody remembers. A sender still posting there gets the JSON 404 every
unknown /api path gets.

The tests move with it, which they should have done anyway: the harness
mints an integration key for the default team and posts on that, so they
exercise the path production uses rather than one only they still used.

scripts/sqlite-to-postgres.go goes the same way. It was written to be
temporary, it was the last thing needing modernc.org/sqlite, and this
install migrated on 2026-09-20. `go mod tidy` drops the driver and its
six transitive dependencies with it; the module graph is now chi, pgx,
pgerrcode and x/crypto. Anyone still on v0.10.x can take the script out
of the v0.12.0 tag, which the README now says.

Claude-Session: https://claude.ai/code/session_01RHPj4ggeFdEjKKfm4SHbD7
niklas merged commit 303e7a3365 into main 2026-09-20 16:14:15 +00:00
Sign in to join this conversation.