CMS sync
HTTP request/response only · no shared DB/ES · fail-static
Datasets
Last sync | ||||
|---|---|---|---|---|
| Host rules | GET /api/v1/hosts?status=active | — | 300s | |
| Whitelisted sites | GET /api/v1/whitelist | — | 3600s | |
| Project categories | GET /api/v1/projects | — | 3600s |
Live row metadata (rows / last-sync) comes from a planned /sync/status endpoint — shown as “—” until it lands. Sync actions call the real */sync endpoints now.
Fail-static
CMS unreachable → keep last-synced; never wipe. Unsynced hosts = config_source:default → fail-closed.
Auth
On-demand sync forwards the caller's bearer token; the beat uses a service token.
Note
Bulk host sync pulls status=active only; missing hosts are fetched by id on demand during link-check. projects_hss is authored locally (no CMS source).