* chore: add .github/CODEOWNERS for main branch policy
Signed-off-by: MrAlders0n <MrAlders0n@smal.ca>
* chore: add .github/workflows/main-source-guard.yml for main branch policy
Signed-off-by: MrAlders0n <MrAlders0n@smal.ca>
* docs(meshmapper): document API key setup (#14)
* docs(observers): document directory pagination (#15)
* docs(mobile): add BEACON Mobile privacy policy and support page (#16)
* docs: document GET /info and mobile.min_app_version (#18)
* docs: document GET /info and mobile.min_app_version
* docs: match /info serverVersion and admin field to the server
---------
Signed-off-by: MrAlders0n <MrAlders0n@smal.ca>
* docs: move design and API contract into docs/
* docs: add releases and versioning page
* docs: add configuration reference for server and web
* docs: add reverse proxy page
* docs: add upgrading page
* docs: add operations page and move backup and profiling docs
* docs: add getting packets in and security pages
* docs: add troubleshooting page
* docs(api): fold admin, activity, route and summary notes into the contract
* docs(deploy): add type 2 split deployment, finish the beacon rename, ignore secrets
* docs: rewrite README as the front door and share the contributor workflow
* docs: remove em dashes from prose and config comments
* docs: apply review fixes to type 2, upgrading, troubleshooting and first-run notes
* docs: fix upgrade order, restore steps, type 2 setup and contract details from review
* docs: keep the gitignore to deployment secrets and runtime state
Upgrade guide (fresh database, config changes that fail startup), nginx and
Caddy reverse proxy examples with X-Real-IP and trusted_proxies, a fixed
compose subnet, and the API contract and design doc brought up to date.
The example .env never set REDIS_ADDR, so stacks built from it ran
with caching silently off. Also document the channels list IATA
filter and the new channel_iatas/trace_iatas tables.