rename: org and repo 'website' metadata still point at gitborg.se #393

Stängd
öppnade 2026-08-05 22:07:48 +00:00 av supernaut · 1 kommentar
Ägare

Noticed while reading API responses during the §5 work. Two Forgejo metadata fields still carry
the old domain, and both are publicly visible:

org  bitborg           website = https://www.gitborg.se/
repo bitborg-infra     website = https://git.gitborg.se/

Worth checking the other six repos in the same pass — these two surfaced incidentally, so the list is
not known to be complete.

Why it is worth doing rather than shrugging at

The links still work (§4a-i gave every old name a path-preserving redirect), so nothing is broken.
But this is server-side metadata rather than content, which means it was missed by the repo-wide
content sweeps — it lives in the database, not in any file, so rg gitborg will never find it. It
renders on the org page and each repo's sidebar, i.e. on public surfaces, which the project's own
conventions single out.

Not in scope

The gitborg-web package/image path (git.bitborg.se/bitborg/gitborg-web) is a separate,
deliberate pin — §3 of the rename register, where retagging has real consequences. Do not fold it in.

Doing it

Both are ordinary PATCH fields (/api/v1/orgs/{org}, /api/v1/repos/{owner}/{repo}), so this is
an API change with no Ansible involvement and no apply. Nothing derives from either field.

Acceptance

  • Org and all seven repo website values point at bitborg.se hosts.
  • Confirmed by re-reading the API, not by the web UI.
Noticed while reading API responses during the §5 work. Two Forgejo **metadata** fields still carry the old domain, and both are publicly visible: ```text org bitborg website = https://www.gitborg.se/ repo bitborg-infra website = https://git.gitborg.se/ ``` Worth checking the other six repos in the same pass — these two surfaced incidentally, so the list is not known to be complete. ## Why it is worth doing rather than shrugging at The links still work (§4a-i gave every old name a path-preserving redirect), so nothing is broken. But this is server-side **metadata rather than content**, which means it was missed by the repo-wide content sweeps — it lives in the database, not in any file, so `rg gitborg` will never find it. It renders on the org page and each repo's sidebar, i.e. on public surfaces, which the project's own conventions single out. ## Not in scope The `gitborg-web` **package/image path** (`git.bitborg.se/bitborg/gitborg-web`) is a separate, deliberate pin — §3 of the rename register, where retagging has real consequences. Do not fold it in. ## Doing it Both are ordinary `PATCH` fields (`/api/v1/orgs/{org}`, `/api/v1/repos/{owner}/{repo}`), so this is an API change with no Ansible involvement and no apply. Nothing derives from either field. ## Acceptance - Org and all seven repo `website` values point at `bitborg.se` hosts. - Confirmed by re-reading the API, not by the web UI.
Upphovsperson
Ägare

Done 2026-08-10 — applied to the live server and verified by independent re-read. Declaration side: infra #416 (no file change was needed for this issue; website is pure server metadata, which is exactly why the repo-wide content sweeps never saw it).

What changed

Object From To
org bitborg https://www.gitborg.se/ https://www.bitborg.se/
bitborg-infra https://git.gitborg.se/ https://git.bitborg.se/
bitborg-web https://www.gitborg.se/ https://www.bitborg.se/

The list was incomplete, as this issue suspected

bitborg-web was a third stale field. Worth recording why it was hard to see: fj repo view does not expose website, so the field is invisible from the CLI and only appears in a raw API response or the web UI.

All seven repos were checked, not just the two named. The remaining five — bitborg-docs, bitborg-reconcile-trigger, and all three private repos (bitborg-internal, bitborg-payment, bitborg-auth-reconciler) — have an empty website, so nothing was hiding behind the private-repo boundary. That closes the completeness question rather than leaving it open.

How

PATCH /api/v1/orgs/bitborg and PATCH /api/v1/repos/bitborg/{repo}, each field re-read afterwards and compared. Empty fields left alone; only values containing gitborg were touched.

Needed a temporary write:organization + write:repository PAT, minted for this and revoked after — no standing token has write scope (ADR 0024).

Out of scope and untouched, as stated: the gitborg-web package/image path.

Done 2026-08-10 — applied to the live server and verified by independent re-read. Declaration side: infra #416 (no file change was needed for this issue; `website` is pure server metadata, which is exactly why the repo-wide content sweeps never saw it). ## What changed | Object | From | To | | --- | --- | --- | | org `bitborg` | `https://www.gitborg.se/` | `https://www.bitborg.se/` | | `bitborg-infra` | `https://git.gitborg.se/` | `https://git.bitborg.se/` | | **`bitborg-web`** | `https://www.gitborg.se/` | `https://www.bitborg.se/` | ## The list was incomplete, as this issue suspected `bitborg-web` was a **third** stale field. Worth recording why it was hard to see: `fj repo view` does not expose `website`, so the field is invisible from the CLI and only appears in a raw API response or the web UI. **All seven repos were checked, not just the two named.** The remaining five — `bitborg-docs`, `bitborg-reconcile-trigger`, and all three private repos (`bitborg-internal`, `bitborg-payment`, `bitborg-auth-reconciler`) — have an **empty** `website`, so nothing was hiding behind the private-repo boundary. That closes the completeness question rather than leaving it open. ## How `PATCH /api/v1/orgs/bitborg` and `PATCH /api/v1/repos/bitborg/{repo}`, each field re-read afterwards and compared. Empty fields left alone; only values containing `gitborg` were touched. Needed a temporary `write:organization` + `write:repository` PAT, minted for this and revoked after — no standing token has write scope (ADR 0024). Out of scope and untouched, as stated: the `gitborg-web` package/image path.
Logga in för att delta i denna konversation.
Ingen milstolpe
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Förfallodatumet är ogiltigt eller utanför gränserna. Använd formatet "åååå-mm-dd".

Inget förfallodatum satt.

Beroenden

Inga beroenden satta

Referens
bitborg/bitborg-infra#393
Ingen beskrivning angiven.