Interfaces

Persistence for API keys.

The account rows the authenticators read while deciding a login.

Lookups on the domains table; implemented for SQL and for the API backend mode.

Persistence for the dynamic DNS update endpoint.

Persistence for the OIDC and SAML identity links that tie a provider subject to a local user.

Persistence for the login_attempts counters the authentication throttle reads and writes.

Persistence for password reset tokens and their rate-limit counters.

Persistence for permission templates and the permission items they bundle.

Persistence for RRset-level record comments; both backends implement it.

Comments linked to individual records through record_comment_links.

Zone-wide record listing, filtering, counting and RRset reads.

Single-record reads and existence checks within a zone.

Reads on the records table; implemented for SQL and for the API backend mode.

Persistence for admin-configured default TTLs per record type.

Builds the repositories a domain service needs on demand; the Application layer picks the SQL or API implementation for the configured backend.

Tracks which zone records a template application wrote, so a later application of the same template can remove exactly those records.

Account administration: listing, creating, updating and deleting users and moving their zones.

Persistence for the user agreement versions each user has accepted.

Write access to a user's stored password.

Read access to user groups and their membership by user.

Persistence for user group membership.

Persistence for user groups.

Creating, updating and deleting groups, plus the counts that guard a delete.

Read access to individual user accounts by id, name or email.

Persistence for per-user MFA settings.

The account rows the notification mailers address their messages to.

Read access to what a user may do: permissions, uberuser status, template grants and zone ownership.

Persistence for per-user interface preferences.

Persistence for user accounts and the zones they own.

Persistence for username recovery attempts and their rate-limit counters.

Resolves the owner whose username the PowerDNS account field mirrors.

Persistence for zone change requests. Lists come back newest first.

Persistence for group-based zone ownership.

Where a zone's metadata rows live: the domainmetadata table on the SQL backend, or the PowerDNS API (metadata plus zone-object properties) on the API backend. Rows are [['kind' => string, 'content' => string], ...].

Zone ownership reads and writes; one of the three roles ZoneRepositoryInterface combines.

Zone lookups, lists and counts; one of the three roles ZoneRepositoryInterface combines.

Zone reads and ownership writes; implemented for SQL and for the API backend mode.

Read access to zone SOA serials.

Persistence for zone templates (zone_templ), their records (zone_templ_records) and the zone -> template links kept in zones.zone_templ_id.

Tracks which zones are out of date against their template after the template changes.

Zone row, comment and metadata writes (plus the metadata read the editor pairs with them); one of the three roles ZoneRepositoryInterface combines.