Synops — redaksjonelt OS og kunnskapsgraf
Find a file
vegard 66ebe58ff8 Custom domains (oppgave 14.9): DNS-validering, Caddy on-demand TLS, re-rendering
Tre hovedkomponenter:

1. custom_domain.rs — ny modul i maskinrommet:
   - GET /internal/verify-domain?domain= — Caddy on-demand TLS callback.
     Returnerer 200 hvis domenet er registrert i en publishing-trait, 404 ellers.
   - DNS-validering (validate_dns): sjekker at domenet peker til serverens IP
     via system DNS resolver. Kalles ved oppdatering av publishing-trait.
   - Domene-basert serving: /custom-domain/index, /custom-domain/{article_id},
     /custom-domain/feed.xml — Caddy rewriter custom domain-forespørsler hit,
     Host-header brukes til å finne samlingen.
   - Re-rendering: rerender_collection_articles() enqueuer render-jobber
     for alle artikler + forside når custom_domain endres.

2. Caddy on-demand TLS (Caddyfile):
   - Catch-all :443-blokk med on_demand ask-callback til maskinrommet.
   - Rewrite-regler: / → /custom-domain/index, /feed.xml → /custom-domain/feed.xml,
     /* → /custom-domain/{uri}. Host-header bevares for domene-oppslag.

3. intentions.rs — utvidet update_node:
   - DNS-validering ved setting av custom_domain i publishing-trait.
   - Detekterer endring i custom_domain og trigger re-rendering av
     alle artikler (canonical URL endres).

Eksisterende kode (publishing.rs, rss.rs) bruker allerede custom_domain
for base_url/canonical_url — ingen endringer nødvendig der.

Ref: docs/concepts/publisering.md § "Custom domain-mekanisme"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 01:51:35 +00:00
config Custom domains (oppgave 14.9): DNS-validering, Caddy on-demand TLS, re-rendering 2026-03-18 01:51:35 +00:00
docs Retning: Unix-filosofi — maskinrommet orkestrerer, verktøy gjør jobben 2026-03-18 01:49:48 +00:00
frontend Publiseringsflyt i frontend (oppgave 14.7) 2026-03-18 01:33:37 +00:00
maskinrommet Custom domains (oppgave 14.9): DNS-validering, Caddy on-demand TLS, re-rendering 2026-03-18 01:51:35 +00:00
migrations Pruning-logikk: TTL per modalitet, signaler, disk-nødventil (oppgave 11.3) 2026-03-18 00:02:27 +00:00
ops Oppdater docs til server-only utviklingsmodell 2026-03-17 18:29:45 +00:00
reference Arkitekturbeslutninger: noder er sentrum, edges definerer alt 2026-03-17 10:29:54 +01:00
scripts Legg til fase 19 (spatial canvas) og 20 (universell overføring + panelrework) 2026-03-18 01:28:24 +00:00
spacetimedb Sanntidslyd: kommunikasjonsnode → LiveKit-rom (oppgave 11.2) 2026-03-17 23:54:40 +00:00
tools Legg til tools/ for Claude CLI-verktøy, dokumenter i CLAUDE.md 2026-03-18 01:44:57 +00:00
.env.example Fullfør oppgave 7.1: faster-whisper Docker-oppsett for norsk STT 2026-03-17 17:21:29 +01:00
.gitignore Synops v2: arkitektur, retninger og dokumentasjon 2026-03-17 06:43:08 +01:00
CLAUDE.md Retning: Unix-filosofi — maskinrommet orkestrerer, verktøy gjør jobben 2026-03-18 01:49:48 +00:00
spacetime.json SpacetimeDB-modul: nodes og edges med CRUD-reducers (oppgave 1.3) 2026-03-17 12:05:18 +01:00
tasks.md Custom domains (oppgave 14.9): DNS-validering, Caddy on-demand TLS, re-rendering 2026-03-18 01:51:35 +00:00