# Lodge website Static site at `thelonglakelodge.com` (+ `www`, a CNAME to the apex). Hosted by Latchkey's managed-website service ("Websites" in the app): the files live in the `latchkey-sites` Garage bucket under the `thelonglakelodge.com/` key prefix, and the Latchkey `sites` edge serves them over its anycast IPs with automatic Let's Encrypt TLS. No Traefik, no per-site bucket Ingress. Registered in `custom_domains` (org "Fritz Family", id `cd-tll0001`). ## Update the site In the Latchkey app: **Websites → thelonglakelodge.com → Manage files** — upload (replaces by path), list, delete. Files publish immediately. The old git repo `~/code/git/code.fritzlab.net/websites/thelonglakelodge.com` + `action/site-publish` flow is retired; edits go through the app now (or the API: `POST /v1/custom-domains/cd-tll0001/files`). DNS: apex A/AAAA → the sites anycast set (142.202.202.22 / .203.22 / 23.145.176.22 + 2602:817:3000:ed6e::{202,203,176}:22); `www` CNAMEs the apex. Managed in `dns/authoritative/zone-templates/thelonglakelodge.com.j2`. ## Welcome packet PDF (`/welcome`) `/welcome` and `/welcome.pdf` both serve the guest packet. The `/welcome` shortcut is the empty stub object carrying `x-amz-website-redirect-location: /welcome.pdf`; the managed-sites server follows that metadata internally (one hop) and streams the PDF — no browser-visible redirect. Update the PDF by re-uploading `welcome.pdf` via Websites → Manage files (or `POST /v1/custom-domains/cd-tll0001/files`). To recreate the `/welcome` stub if lost: ```sh aws --profile sjc001 s3api put-object --bucket latchkey-sites \ --key thelonglakelodge.com/welcome --content-type text/html \ --website-redirect-location /welcome.pdf --body /dev/null ``` ## Guest-facing policy lives in two places Check-out time, quiet hours, occupancy, and local-contact details are stated both in the welcome PDF and in the quick-ref cards on `house-rules.html`. When updating any of these values, update BOTH or they will drift.