Skip to content

Architecture components

Control plane

ComponentImplementationResponsibility
corePHP 8.5, Laravel 13, Filament 5API, panels, policies, desired state
webNginxBrowser/API ingress to PHP-FPM
horizonLaravel HorizonFour isolated Redis queue lanes
schedulerLaravel schedulerPeriodic bounded dispatch, retention, heartbeat
control-dbPostgreSQL 18Authoritative desired and operational state
redisValkey 9Queues, sessions, cache, locks
edge-controlNginx plus the core imageMutual-TLS edge-agent ingress

core, Horizon, and the scheduler are independent processes. Application image startup creates writable directories but deliberately does not migrate.

DNS

ComponentResponsibility
dnsdistOnly public authoritative DNS endpoint, backend selection, bounded dnstap
pdns-authPrivate PowerDNS authoritative service
pdns-dbRebuildable PowerDNS runtime schema
pdns-migrateExplicit PowerDNS runtime migration tool
dns-api overlaySource-restricted TLS proxy for the private PowerDNS API

PowerAdmin exists only in the development-tools profile and is diagnostic. Direct edits are drift.

Edge

ComponentResponsibility
edge-agentEnrollment, signed artifacts, atomic activation, heartbeat, tasks
edgeShared OpenResty cell
edge-quarantineSmaller isolated quarantine cell
mmdb-updaterDownload, validate, and atomically activate the GeoIP database

OpenResty selects certificates and domain configuration from data-driven runtime JSON. It applies bounded request, connection, header, body, origin, and cache policies. No normal domain change generates an Nginx server block or reload.

Telemetry

ComponentResponsibility
vectorRedact, normalize, buffer, and deliver edge/DNS events
clickhouseRaw events plus hourly and daily materialized aggregates
prometheusMetrics and alert evaluation
alertmanagerAlert routing
node-exporterHost resource and clock metrics
Edge gatewayBinds configured service IPv4/IPv6 addresses and routes by destination plus validated Host/SNI; sends PROXY protocol version 2 to private cell listeners

Vector has separate 1 GiB disk buffers for edge and DNS sinks and drops newest events when full. Telemetry loss is visible but never blocks serving.

Development-only components

Pebble provides a local ACME directory, two Nginx origin fixtures provide HTTP and HTTPS origins, dev-pki initializes persistent development certificates, and PowerAdmin provides runtime diagnostics. None belongs in production.

CDNFoundry documentation