Edge Cache and CDN Platform  ·  View 12 of 29  ·  4 · Data

Control-Plane Data Model

What the control plane records about properties, rules, keys, versions, rollouts, invalidations and acknowledgements, and how they join.

Editable source SVG draw.io All views
hostname fqdn PK property_id FK cert_set_id anycast_class 1–4 dns_override nullable property property_id PK owner_team · cost_centre priority_class max_ttl_s ≤ platform ceiling footprint_floor · ceiling path_rule rule_id PK property_id FK pattern · precedence cacheable bool freshness strict | standard | resilient invalidation purge | expire | versioned key_spec rule_id PK FK query_allow [] headers [] class none | device | geo identity none | named header config_version commit_sha PK bundle_hash author · approver validated_at invariants_passed invalidation stream_seq PK property_id FK selector url | tag | property mode purge | expire issued_by · issued_at origin_set origin_set_id PK endpoints ordered primary_shield · secondary max_conns · max_rps slow_ms · down_after rollout rollout_id PK commit_sha FK ring canary | region | global state · halted_reason pop_ack stream_seq + pop_id PK acked_at applied_through_seq pop pop_id PK tier 1 | edge region · shield_pool announced_classes measured_gbps_ceiling 1 : N 1 : N 1 : 1 N : 1 1 : N 1 : N 1 : N 1 : N Control-Plane Data Model Property, rule and key rows are compiled from Git; none is edited in the database. Invalidation rows mirror the stream. v 1.0 · owner Edge Platform · date 2026-09

Decisions

  • key_spec is one-to-one with path_rule. A key belongs to a rule, not to a property, because a property's static assets and its API differ in every dimension that matters.
  • identity on key_spec is explicit: none, or the named header that carries it. There is no default, so leaving it unset fails validation.
  • pop_ack records applied_through_seq, not only the one acknowledgement, so an absent PoP's position in the log is always known.

Source of truth

  • Property, hostname, rule, key and origin rows are compiled from Git on every merge and can be dropped and rebuilt. The Control DB is authoritative only for rollouts, invalidation status and acknowledgements.

Omitted

  • The rollout-to-PoP relation, certificate inventory and steering intent tables are left off to keep the joins readable.