feat: origin check, guided empty states, create-default actions #23

Merged
KofTwentyTwo merged 3 commits from feature/tables-populated-defaults into develop 2026-10-14 22:19:51 +00:00
KofTwentyTwo commented 2026-10-14 21:58:06 +00:00 (Migrated from github.com)

Audit per table

  • cdn_provider, cdn_hostname, cdn_purge_request, cdn_revalidation_hook, cdn_edge_stat_daily, cdn_drift_finding: used (dispatcher, listener, processes, home).
  • cdn_cache_policy: read only by CdnResponseHeaderPolicy.current(), which a host must call; the qbit itself never applies it. Made honest in help and Setup card.
  • cdn_table_tag_rule: read by the change listener and purge actions.
  • cdn_origin_check: had no writer. Now written by the new Check Origin Headers action and nightly run.
  • hostnameRole: never read; documented as an informational label. credentialRotatedDate is read by the home.

Changes

  • CdnOriginCheck + action + nightly schedule, with a replaceable fetcher; HTTPS GET, no redirects, public addresses only.
  • Create default provider / policies (turned off) / rules actions (insert-only, no changelog since no DDL and host column names vary).
  • Help bundle (STAND-IN #1198), Setup card, home empty text updated.

Tests

CdnTablesGuardrailTest, CdnDefaultsAndOriginCheckTest, CdnSetupStatusTest; ./mvnw verify green.

Not done

CdnResponseHeaderPolicy is not auto-applied to responses (needs a host hook; a larger change). No Liquibase seed.

🤖 Generated with Claude Code

## Audit per table - cdn_provider, cdn_hostname, cdn_purge_request, cdn_revalidation_hook, cdn_edge_stat_daily, cdn_drift_finding: used (dispatcher, listener, processes, home). - cdn_cache_policy: read only by CdnResponseHeaderPolicy.current(), which a host must call; the qbit itself never applies it. Made honest in help and Setup card. - cdn_table_tag_rule: read by the change listener and purge actions. - cdn_origin_check: had no writer. Now written by the new Check Origin Headers action and nightly run. - hostnameRole: never read; documented as an informational label. credentialRotatedDate is read by the home. ## Changes - CdnOriginCheck + action + nightly schedule, with a replaceable fetcher; HTTPS GET, no redirects, public addresses only. - Create default provider / policies (turned off) / rules actions (insert-only, no changelog since no DDL and host column names vary). - Help bundle (STAND-IN #1198), Setup card, home empty text updated. ## Tests CdnTablesGuardrailTest, CdnDefaultsAndOriginCheckTest, CdnSetupStatusTest; ./mvnw verify green. ## Not done CdnResponseHeaderPolicy is not auto-applied to responses (needs a host hook; a larger change). No Liquibase seed. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.