docs: Plan A10 praezisiert (Domain-Policy + GF_SUBPATH-Platzierung vor API-Container)
This commit is contained in:
@@ -25,10 +25,14 @@ systemd `--user`), Grafana OSS 12.1.0, Bash-Deployskript.
|
|||||||
|
|
||||||
- **Lokalbetrieb bleibt bit-identisch**, solange `FB_GRAFANA_PUBLIC_URL` leer
|
- **Lokalbetrieb bleibt bit-identisch**, solange `FB_GRAFANA_PUBLIC_URL` leer
|
||||||
ist. Jede Änderung MUSS diesen Fall als No-Op behandeln.
|
ist. Jede Änderung MUSS diesen Fall als No-Op behandeln.
|
||||||
- **Kein Hostname/keine Domain ins Repo oder Image.** Proxy-Werte nur via
|
- **Kein Hostname/keine Domain als Funktionswert ins Repo oder Image.**
|
||||||
`.env` (`FB_GRAFANA_PUBLIC_URL`, `FB_SESSION_COOKIE_SECURE`). In Tests/Doku
|
Proxy-Werte nur via `.env` (`FB_GRAFANA_PUBLIC_URL`,
|
||||||
nur Beispiel-Domains (`fb.example.de`), niemals die echte Domain als
|
`FB_SESSION_COOKIE_SECURE`). **Quellcode inkl. Kommentaren und Tests bleibt
|
||||||
Default/Fixwert im Code.
|
domain-neutral** — nur die Beispiel-Domain `fb.example.de`, niemals die echte
|
||||||
|
Domain. **Ausnahme: die Deployment-Doku `docs/reverse-proxy.md`** beschreibt
|
||||||
|
genau diese Installation und darf die echte Domain
|
||||||
|
`fb.wolfundlaemmlein.de` nennen (öffentlicher DNS-Name, keine Kontodaten).
|
||||||
|
(Nutzerentscheidung 2026-07-21: Code neutral, Doku echt.)
|
||||||
- **`.env`-Werte single-quoted** (`KEY='wert'`) — `create_pod_finance.sh`
|
- **`.env`-Werte single-quoted** (`KEY='wert'`) — `create_pod_finance.sh`
|
||||||
sourced per `set -a; . "$ENV_FILE"`.
|
sourced per `set -a; . "$ENV_FILE"`.
|
||||||
- **Zwei getrennte Grafana-URLs:** `FB_GRAFANA_URL` (intern, Server→Grafana,
|
- **Zwei getrennte Grafana-URLs:** `FB_GRAFANA_URL` (intern, Server→Grafana,
|
||||||
@@ -302,7 +306,7 @@ einfügen:
|
|||||||
def grafana_public_base(request: Request) -> str:
|
def grafana_public_base(request: Request) -> str:
|
||||||
"""Öffentliche Grafana-Basis-URL für Browser-Links/iframes. Ist
|
"""Öffentliche Grafana-Basis-URL für Browser-Links/iframes. Ist
|
||||||
FB_GRAFANA_PUBLIC_URL gesetzt (Reverse-Proxy-Betrieb, z.B.
|
FB_GRAFANA_PUBLIC_URL gesetzt (Reverse-Proxy-Betrieb, z.B.
|
||||||
'https://fb.wolfundlaemmlein.de/grafana/'), wird sie ohne abschließenden
|
'https://fb.example.de/grafana/'), wird sie ohne abschließenden
|
||||||
Slash zurückgegeben; sonst der lokale Fallback http://<host>:8097
|
Slash zurückgegeben; sonst der lokale Fallback http://<host>:8097
|
||||||
(Direktbetrieb ohne Proxy). Templates hängen bei Bedarf '/d/...' an."""
|
(Direktbetrieb ohne Proxy). Templates hängen bei Bedarf '/d/...' an."""
|
||||||
public = get_settings().grafana_public_url
|
public = get_settings().grafana_public_url
|
||||||
@@ -448,14 +452,17 @@ git commit -m "feat: uvicorn Proxy-Headers fuer Reverse-Proxy-Betrieb"
|
|||||||
Task 7.
|
Task 7.
|
||||||
|
|
||||||
- [ ] **Step 1: Sub-Pfad-Berechnung einfügen** — in `create_pod_finance.sh`
|
- [ ] **Step 1: Sub-Pfad-Berechnung einfügen** — in `create_pod_finance.sh`
|
||||||
VOR dem Grafana-`podman run` (also vor der Zeile
|
VOR dem **API**-`podman run` (`podman run -d --name "$API_CTR_NAME" ...`)
|
||||||
`podman run -d --name "$GRAFANA_CTR_NAME" ...`) diesen Block einfügen:
|
diesen Block einfügen. WICHTIG: nicht erst vor dem Grafana-Container — der
|
||||||
|
API-Container läuft im Skript zuerst und verwendet bereits `${GF_SUBPATH}`
|
||||||
|
(siehe Step 3), also muss der Block davor stehen, sonst wäre `FB_GRAFANA_URL`
|
||||||
|
im Sub-Pfad-Modus fälschlich präfixlos:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# --- Reverse-Proxy-Betrieb (optional) ----------------------------------------
|
# --- Reverse-Proxy-Betrieb (optional) ----------------------------------------
|
||||||
# FB_GRAFANA_PUBLIC_URL wird nur gesetzt, wenn das Tool hinter einem Reverse
|
# FB_GRAFANA_PUBLIC_URL wird nur gesetzt, wenn das Tool hinter einem Reverse
|
||||||
# Proxy unter einem Sub-Pfad laufen soll (z.B.
|
# Proxy unter einem Sub-Pfad laufen soll (z.B.
|
||||||
# 'https://fb.wolfundlaemmlein.de/grafana/'). Ist sie leer (Default,
|
# 'https://fb.example.de/grafana/'). Ist sie leer (Default,
|
||||||
# Direktbetrieb auf 127.0.0.1), bleibt alles wie bisher: Grafana serviert an
|
# Direktbetrieb auf 127.0.0.1), bleibt alles wie bisher: Grafana serviert an
|
||||||
# der Wurzel, Health-Check und Passwort-Sync sprechen /api/... ohne Praefix.
|
# der Wurzel, Health-Check und Passwort-Sync sprechen /api/... ohne Praefix.
|
||||||
GF_SUBPATH=''
|
GF_SUBPATH=''
|
||||||
|
|||||||
Reference in New Issue
Block a user