electric-horses-infra/docs/adr/0004-subdomain-code-sdda-eu.md
Benjamin Weinlich 88c541c9ed docs(adr): mirror 6 ADRs from M7.1 into repo
Adds the Architecture Decision Records that were written during the
Forgejo deployment (M7.1) as part of moving docs from the iCloud folder
into this versioned repository.

Includes:
- ADR-0001: Forgejo vs Gitea (non-profit stewardship)
- ADR-0002: ai-apps placement (no separate VM)
- ADR-0003: Native OIDC, not ForwardAuth
- ADR-0004: Subdomain code.sdda.eu
- ADR-0005: Volume mount on /data (lesson learned)
- ADR-0006: Silent SSO via OAuth2 launch URL (lesson learned)

Plus a docs/adr/README.md that explains the ADR format, lists the
current ADRs, and provides a template for future entries.

Refs OP#1118
2026-04-11 22:26:05 +02:00

38 lines
1.7 KiB
Markdown

# ADR-0004: Subdomain `code.sdda.eu`
**Status:** Accepted
**Datum:** 2026-04-11
**Entscheider:** Benjamin Weinlich
**Phase:** M7.1 — Forgejo Deployment
## Kontext
Forgejo braucht eine öffentliche Subdomain unter `sdda.eu`. Mehrere Varianten standen zur Wahl.
## Entscheidung
**`code.sdda.eu`**
## Alternativen
| Option | Pro | Contra |
|---|---|---|
| `git.sdda.eu` | Kurz, Industriestandard (GitHub, GitLab, Bitbucket) | "Git" ist technisch, Fokus auf Protokoll statt Inhalt |
| **`code.sdda.eu`** ✓ | Sprechend, User-orientiert ("hier ist unser Code"), nicht protokoll-spezifisch | Nicht ganz so "Standard" wie git.* |
| `source.sdda.eu` | Neutral, betont Source-of-Truth | Ungewöhnlich |
| `forge.sdda.eu` | Bezieht sich auf Forgejo-Namen | Tool-spezifisch; bei Migration zu anderer Software irreführend |
## Begründung
Benjamin hat `code.sdda.eu` gewählt, weil es:
- **User-zentriert** ist — "Code" ist näher am Geschäftszweck als "Git" (Protokoll)
- **Tool-agnostisch** ist — würden wir irgendwann auf GitLab / Gitea / whatever wechseln, passt der Name weiter
- **Kurz und merkbar** ist
- **Keine technischen Vorkenntnisse braucht** — ein Werkstatt-Mitarbeiter versteht "Code" schneller als "Git"
## Konsequenzen
- DNS A-Record `code.sdda.eu → 91.98.226.44` auf Webmin/BIND
- AAAA-Record `code.sdda.eu → 2a01:4f8:1c1e:5113::1` (IPv6)
- Let's Encrypt Cert automatisch über Traefik
- Authentik Redirect URI: `https://code.sdda.eu/user/oauth2/authentik/callback`
- Forgejo ROOT_URL und DOMAIN konfiguriert auf `code.sdda.eu`
## Nicht übersehen
Die Forgejo `SSH_DOMAIN` ist ebenfalls `code.sdda.eu` (Port 222) — git clone URLs sind dann `ssh://git@code.sdda.eu:222/user/repo.git`.