OSVauco/docs/DNS-OG-INFRASTRUKTUR.md

145 lines
4.8 KiB
Markdown

# DNS & INFRASTRUKTUR — Vauco OS
**Versjon:** 2026-06-10 | **Eier:** Chris Christiansen | **Status:** Autoritativ
---
## KRITISK: Slik er infrastrukturen bygget
### Load Balancer — Hoved-IP
```
34.98.77.173 ← ALLE subdomener som skal ha IAP må peke hit (A-record)
```
### Forwarding rules
| Navn | IP | Target proxy |
|------|-----|-------------|
| `osvauco-agent-forwarding-rule` | `34.98.77.173` | `osvauco-agent-https-proxy` |
| `vauco-os-https` | `34.144.224.45` | `vauco-os-https-proxy` |
| `vauco-tui-bridge-forwarding-rule` | `34.117.108.44` | `vauco-tui-bridge-https-proxy` |
### URL maps
| Navn | Backend | IAP |
|------|---------|-----|
| `osvauco-agent-url-map` | `osvauco-agent-iap-backend` | ✅ JA |
| `vauco-os-urlmap` | `vauco-os-backend` | ❌ NEI |
| `vauco-tui-bridge-url-map` | `vauco-tui-bridge-backend` | ❌ NEI |
### SSL-sertifikater på osvauco-agent-https-proxy
| Sertifikat | Domene | Status |
|-----------|--------|--------|
| `osvauco-agent-ssl-cert` | `costguard.oss.vauco.no` | ✅ ACTIVE |
| `opax-vauco-cert` | `opax.vauco.no` | ✅ ACTIVE (provisjonert 2026-05-30) |
> ⚠️ Når du legger til nytt subdomene må du alltid oppdatere `--ssl-certificates` med ALLE eksisterende + nytt.
> Eksempel: `--ssl-certificates=osvauco-agent-ssl-cert,opax-vauco-cert,NYTT-cert`
---
## REGEL: Nytt subdomene = gjør dette (i denne rekkefølgen)
### Steg 1 — GCP: Opprett SSL-sertifikat
```bash
gcloud compute ssl-certificates create NAVN-cert \
--domains=subdomene.vauco.no \
--project=propane-will-491900-m5
```
### Steg 2 — GCP: Legg til sertifikat på proxy (MED alle eksisterende)
```bash
gcloud compute target-https-proxies update osvauco-agent-https-proxy \
--ssl-certificates=osvauco-agent-ssl-cert,opax-vauco-cert,NAVN-cert \
--project=propane-will-491900-m5
```
### Steg 3 — DNS hos Proisp (manuelt, én gang)
```
Type: A
Navn: subdomene.vauco.no
Verdi: 34.98.77.173
TTL: 300
```
### Steg 4 — Vent på sertifikat-provisjonering (10-20 min)
```bash
# Sjekk status
gcloud compute ssl-certificates describe NAVN-cert \
--project=propane-will-491900-m5 \
--format="json(managed.domainStatus,managed.status)"
```
> ⚠️ ALDRI bruk CNAME til ghs.googlehosted.com for IAP-beskyttede tjenester.
> CNAME til ghs = Cloud Run domain mapping = bypasser Load Balancer = ingen IAP.
---
## DAGENS SUBDOMENER — Status
| Subdomene | DNS type | Peker til | SSL-cert | IAP | Status |
|-----------|----------|-----------|----------|-----|--------|
| `opax.vauco.no` | A | `34.98.77.173` | `opax-vauco-cert` | ✅ | ✅ Fungerer |
| `costguard.oss.vauco.no` | A | `34.98.77.173` | `osvauco-agent-ssl-cert` | ✅ | ✅ Fungerer |
| `oss.vauco.no` | - | - | - | - | 🔮 Fase C |
| `os.vauco.no` | - | - | - | - | 🔮 Fase C |
| `threadstone.vauco.no` | CNAME | GitHub Pages | GitHub | ❌ | ⚠️ Midlertidig — migreres til GCS + GCP LB (T1) |
| `app.threadstone.vauco.no` | CNAME | GitHub Pages | GitHub | ❌ | ⚠️ Midlertidig — migreres til GCS + GCP LB (T1) |
> ⚠️ `threadstone.vauco.no` og `app.threadstone.vauco.no` er fortsatt på GitHub Pages inntil T1 er fullført.
> Ved migrering: opprett SSL-cert, pek DNS A-record til `34.98.77.173`, sett opp GCS-bucket + LB-backend.
---
## OAUTH / IAP — Konfigurasjon
| Parameter | Verdi |
|-----------|-------|
| OAuth brand | `projects/357036551735/brands/357036551735` |
| Publishing status | **Testing** (ikke publiser til Production) |
| User type | **External** |
| Test-brukere | `chris.christiansen@vauco.no` |
| IAP IAM | `chris.christiansen@vauco.no``roles/iap.httpsResourceAccessor` |
> Testing-status med External er korrekt og trygt for intern bruk.
> Maks 100 test-brukere — mer enn nok for Vauco OS.
---
## GCP PROSJEKT
| Parameter | Verdi |
|-----------|-------|
| Project ID | `propane-will-491900-m5` |
| Project number | `357036551735` |
| Region (hoved) | `us-central1` |
| Cloud Run service | `osvauco-agent` |
| Cloud Run URL | `https://osvauco-agent-357036551735.us-central1.run.app` |
---
## FREMTIDIG: Flytt DNS til Google Cloud DNS
Når tid tillater — flytt `vauco.no` nameservere til Google Cloud DNS.
Da kan alle DNS-endringer gjøres med `gcloud`-kommandoer, og nytt subdomene er fullt automatisert.
```bash
# Opprett zone
gcloud dns managed-zones create vauco-no \
--dns-name=vauco.no. \
--description="Vauco DNS zone" \
--project=propane-will-491900-m5
# Nytt subdomene = én kommando
gcloud dns record-sets create subdomene.vauco.no. \
--zone=vauco-no \
--type=A \
--ttl=300 \
--rrdatas=34.98.77.173 \
--project=propane-will-491900-m5
```
**Prosessen:** Hent NS-records fra GCP → lim inn hos Proisp → propagering 24-48t.
**Trigger:** Gjør dette etter CG3 er live og første kunde er onboardet.
---
*Opprettet: 2026-05-30 | Oppdatert: 2026-06-10 | OSVauco | propane-will-491900-m5*