Skip to content

Settings Syncer

The PowerDNS Platform Filter Settings Syncer (pdns-pf-settingssyncer) keeps a local LMDB database in sync with one or more Redis servers. It reads global filter settings, IP-to-subscriber mappings, and subscriber preferences from Redis and writes them into LMDB, which the DNS filtering consumers (Recursor, DNSdist, and Simulator) read at query time.

What it does

  • Performs an initial bulk load from each configured Redis server on startup, copying the full current state into LMDB.
  • Subscribes to Redis pubsub channels and applies incremental updates as they arrive, keeping LMDB continuously in sync.
  • Restarts automatically after a Redis connection failure and re-syncs without operator intervention.
  • Exposes Prometheus metrics and a status page over HTTP.

Server modes

Each Redis server entry in the config carries a mode that determines which channels it syncs:

  • admin — syncs global settings, user preferences, and device profiles.
  • ipmapper — syncs IPv4 and IPv6 IP-to-subscriber mappings.
  • single — syncs all of the above from a single Redis server.

See Architecture for the full channel list and the sync flow.

Next steps

  • Architecture: where the Settings Syncer sits in the Platform Filter pipeline, the bulk-then-subscribe sync model, and the channel structure.
  • Configuration: full YAML reference.
  • Operations: systemd unit, CLI flags, HTTP endpoints, and metrics.