Files
dogfather-universe/cloudflare-worker/README.md
T

73 lines
2.7 KiB
Markdown

# DOGFATHER UNIVERSE — Bewerbungs-Postfach (Cloudflare Worker)
Dieser Worker nimmt Bewerbungen von `bewerben.html` entgegen und speichert sie in Cloudflare KV.
Nur wer den richtigen Code kennt, kann sie über `postfach.html` einsehen — der Code wird
**serverseitig** geprüft (nicht im Browser-Code sichtbar), das ist der eigentliche Schutz.
Kosten: läuft im kostenlosen Cloudflare-Tier (Workers Free + KV Free reichen für dieses Volumen locker).
## Voraussetzungen
- Ein (kostenloser) Cloudflare-Account
- Node.js installiert (für `npx wrangler`)
## Deploy in 5 Schritten
Alles im Ordner `cloudflare-worker/` ausführen:
```bash
cd cloudflare-worker
# 1. Bei Cloudflare einloggen (öffnet Browser zur Anmeldung)
npx wrangler login
# 2. KV-Namespace anlegen (Speicher für die Bewerbungen)
npx wrangler kv namespace create BEWERBUNGEN
```
Die Ausgabe von Schritt 2 enthält eine `id = "..."`. Diese `id` in `wrangler.toml` bei
`REPLACE_ME` eintragen.
```bash
# 3. Geheimen Zugangscode für das Postfach festlegen
# (wird abgefragt, nirgends im Code sichtbar — frei wählbar, z.B. ein langes Passwort)
npx wrangler secret put POSTFACH_CODE
# 4. Worker deployen
npx wrangler deploy
```
Schritt 4 gibt eine URL aus, z.B. `https://dogfather-universe-postfach.<dein-account>.workers.dev`.
```bash
# 5. Kurz testen
curl https://dogfather-universe-postfach.<dein-account>.workers.dev/health
# sollte {"ok":true,"service":"dogfather-universe-postfach"} zurückgeben
```
## Website mit dem Worker verbinden
Nach dem Deploy die Worker-URL an zwei Stellen eintragen:
1. `assets/js/forms.js` → Konstante `API_BASE_URL` ganz oben auf die Worker-URL setzen
(ohne abschließenden Slash).
2. `postfach.html` → Konstante `API_BASE_URL` im `<script>`-Block genauso setzen.
Danach gehen neue Bewerbungen automatisch an den Worker statt (nur) an den `mailto:`-Fallback,
und `postfach.html` kann sie mit dem in Schritt 3 gesetzten Code anzeigen.
## Wer den Code kennen darf
Der Code aus Schritt 3 ist der einzige Schlüssel zum Postfach. Nur an Personen weitergeben, die
wirklich Zugriff auf Bewerbungen haben sollen. Code ändern: einfach `wrangler secret put
POSTFACH_CODE` erneut ausführen und neuen Wert eingeben — alte Bewerbungen bleiben erhalten,
nur der Zugangscode ändert sich.
## Wartung
- Bewerbungen ansehen: über `postfach.html` mit Code (empfohlen), oder direkt im Cloudflare
Dashboard unter Workers & Pages → KV → `BEWERBUNGEN`.
- Bewerbungen löschen: im Cloudflare Dashboard unter KV die einzelnen `sub:...`-Einträge entfernen.
- CORS ist aktuell offen (`*`) — sobald die finale Domain feststeht, in `src/worker.js`
`corsHeaders()` auf die echte Domain einschränken (siehe TODO-Kommentar dort).