diff --git a/docs/backends/bind.rst b/docs/backends/bind.rst index e4ab8a577945..0af16c246a28 100644 --- a/docs/backends/bind.rst +++ b/docs/backends/bind.rst @@ -2,14 +2,18 @@ BIND zone file backend ====================== * Native: Yes -* Master: Yes -* Slave: Yes -* Superslave: Experimental +* Primary: Yes +* Secondary: Yes +* Producer: No +* Consumer: No +* Autosecondary: Experimental +* DNS Update: No * DNSSEC: Yes * Disabled data: No * Comments: No * API: Read-only -* Zone caching: Yes (except in hybrid mode) +* Multiple instances: No +* Zone caching: Yes * Module name: bind * Launch: ``bind`` diff --git a/docs/backends/generic-mysql.rst b/docs/backends/generic-mysql.rst index d997f9633adb..c9edb5ecf54a 100644 --- a/docs/backends/generic-mysql.rst +++ b/docs/backends/generic-mysql.rst @@ -2,13 +2,17 @@ Generic MySQL/MariaDB backend ============================== * Native: Yes -* Master: Yes -* Slave: Yes -* Superslave: Yes -* Case: All lower +* Primary: Yes +* Secondary: Yes +* Producer: Yes +* Consumer: Yes +* Autosecondary: Yes +* DNS Update: Yes * DNSSEC: Yes (set ``gmysql-dnssec``) * Disabled data: Yes * Comments: Yes +* API: Read-Write +* Multiple instances: yes * Zone caching: Yes * Module name: gmysql * Launch name: ``gmysql`` diff --git a/docs/backends/generic-odbc.rst b/docs/backends/generic-odbc.rst index 1f47d3e23b51..b37f5766ef32 100644 --- a/docs/backends/generic-odbc.rst +++ b/docs/backends/generic-odbc.rst @@ -2,13 +2,17 @@ Generic ODBC Backend ==================== * Native: Yes -* Master: Yes -* Slave: Yes -* Superslave: Yes -* Case: All lower +* Primary: Yes +* Secondary: Yes +* Producer: Yes +* Consumer: Yes +* Autosecondary: Yes +* DNS Update: Yes * DNSSEC: Yes * Disabled data: Yes * Comments: Yes +* API: Read-Write +* Multiple instances: yes * Zone caching: Yes * Module name: godbc * Launch name: ``godbc`` diff --git a/docs/backends/generic-postgresql.rst b/docs/backends/generic-postgresql.rst index b092f59d9841..4d0d519db3c2 100644 --- a/docs/backends/generic-postgresql.rst +++ b/docs/backends/generic-postgresql.rst @@ -2,13 +2,17 @@ Generic PostgreSQL backend ========================== * Native: Yes -* Master: Yes -* Slave: Yes -* Superslave: Yes -* Case: All lower +* Primary: Yes +* Secondary: Yes +* Producer: Yes +* Consumer: Yes +* Autosecondary: Yes +* DNS Update: Yes * DNSSEC: Yes (set ``gpgsql-dnssec``) * Disabled data: Yes * Comments: Yes +* API: Read-Write +* Multiple instances: yes * Zone caching: Yes * Module name: gpgsql * Launch name: ``gpgsql`` diff --git a/docs/backends/generic-sqlite3.rst b/docs/backends/generic-sqlite3.rst index b6a02b132429..d12ebe3f8963 100644 --- a/docs/backends/generic-sqlite3.rst +++ b/docs/backends/generic-sqlite3.rst @@ -2,12 +2,17 @@ Generic SQLite 3 backend ======================== * Native: Yes -* Master: Yes -* Slave: Yes -* Superslave: Yes +* Primary: Yes +* Secondary: Yes +* Producer: Yes +* Consumer: Yes +* Autosecondary: Yes +* DNS Update: Yes * DNSSEC: Yes * Disabled data: Yes * Comments: Yes +* API: Read-Write +* Multiple instances: yes * Zone caching: Yes * Module name: gsqlite3 * Launch name: ``gsqlite3`` diff --git a/docs/backends/geoip.rst b/docs/backends/geoip.rst index 539d16767fa4..551e57678326 100644 --- a/docs/backends/geoip.rst +++ b/docs/backends/geoip.rst @@ -2,12 +2,17 @@ GeoIP backend ============= * Native: Yes -* Master: No -* Slave: No -* Superslave: No +* Primary: No +* Secondary: No +* Producer: No +* Consumer: No +* Autosecondary: No +* DNS Update: No * DNSSEC: Yes * Disabled data: No * Comments: No +* API: Read-only +* Multiple instances: Yes * Zone caching: Yes * Module name: geoip * Launch name: ``geoip`` diff --git a/docs/backends/index.rst b/docs/backends/index.rst index 266f45befa2d..8ff4ca25d73f 100644 --- a/docs/backends/index.rst +++ b/docs/backends/index.rst @@ -3,35 +3,35 @@ Backends The following table describes the supported backends and some of their capabilities. -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| Name | Native | Primary | Secondary | Producer | Consumer | Autoprimary | :doc:`DNS Update <../dnsupdate>` | :doc:`DNSSEC <../dnssec/index>` | Launch | -+================================================+========+=========+===========+==========+==========+==============+==================================+=================================+==============+ -| :doc:`BIND ` | Yes | Yes | Yes | No | No | Yes | No | Yes | ``bind`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`Generic Mysql/Mariadb ` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gmysql`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`Generic ODBC ` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``godbc`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`Generic Postgresql ` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gpgsql`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`Generic SQLite3 ` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gsqlite3`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`GeoIP ` | Yes | No | No | No | No | No | No | Yes | ``geoip`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`LDAP ` | Yes | Yes | No | No | No | No | No | No | ``ldap`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`LMDB ` | Yes | Yes | Yes | Yes | Yes | No | No | Yes | ``lmdb`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`Lua2 ` | Yes | Yes | No | No | No | No | No | Yes | ``lua2`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`Pipe ` | Yes | No | No | No | No | No | No | No | ``pipe`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`Random ` | Yes | No | No | No | No | No | No | No | ``random`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`Remote ` | Yes | Yes\* | Yes\* | No | No | Yes\* | No | Yes\* | ``remote`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ -| :doc:`TinyDNS ` | Yes | Yes | No | No | No | No | No | No | ``tinydns`` | -+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+ ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| Name | Native | Primary | Secondary | Producer | Consumer | Autosecondary | :doc:`DNS Update <../dnsupdate>` | :doc:`DNSSEC <../dnssec/index>` | Launch | ++================================================+========+=========+===========+==========+==========+===============+==================================+=================================+==============+ +| :doc:`BIND ` | Yes | Yes | Yes | No | No | Experimental | No | Yes | ``bind`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`Generic Mysql/Mariadb ` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gmysql`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`Generic ODBC ` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``godbc`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`Generic Postgresql ` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gpgsql`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`Generic SQLite3 ` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gsqlite3`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`GeoIP ` | Yes | No | No | No | No | No | No | Yes | ``geoip`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`LDAP ` | Yes | Yes | No | No | No | No | No | No | ``ldap`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`LMDB ` | Yes | Yes | Yes | Yes | Yes | No | No | Yes | ``lmdb`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`Lua2 ` | Yes | Yes | No | No | No | No | No | Yes | ``lua2`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`Pipe ` | Yes | No | No | No | No | No | No | No | ``pipe`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`Random ` | Yes | No | No | No | No | No | No | No | ``random`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`Remote ` | Yes | Yes\* | Yes\* | No | No | Yes\* | No | Yes\* | ``remote`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ +| :doc:`TinyDNS ` | Yes | Yes | No | No | No | No | No | No | ``tinydns`` | ++------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+ All the generic SQL backends have similar functionality, apart from the database they communicate with. These backends have :doc:`features unique ` to the generic SQL backends. diff --git a/docs/backends/ldap.rst b/docs/backends/ldap.rst index bc7616b538a2..9ea798e98de1 100644 --- a/docs/backends/ldap.rst +++ b/docs/backends/ldap.rst @@ -2,12 +2,17 @@ LDAP backend ============ * Native: Yes -* Master: Yes -* Slave: No -* Superslave: No +* Primary: Yes +* Secondary: No +* Producer: No +* Consumer: No +* Autosecondary: No +* DNS Update: No * DNSSEC: No * Disabled data: No * Comments: No +* API: Read-only +* Multiple instances: Yes * Zone caching: No * Module name: ldap * Launch name: ``ldap`` diff --git a/docs/backends/lmdb.rst b/docs/backends/lmdb.rst index ffde491f6bdb..c4750b8fb73e 100644 --- a/docs/backends/lmdb.rst +++ b/docs/backends/lmdb.rst @@ -2,13 +2,16 @@ LMDB backend ============ * Native: Yes -* Master: Yes -* Slave: Yes -* Superslave: No -* Case: All lower +* Primary: Yes +* Secondary: Yes +* Producer: Yes +* Consumer: Yes +* Autosecondary: No +* DNS Update: No * DNSSEC: Yes * Disabled data: Yes * Comments: No +* API: Read-Write * Multiple instances: No * Zone caching: Yes * Module name: lmdb diff --git a/docs/backends/lua2.rst b/docs/backends/lua2.rst index f0793318e6b1..db1a74a914b9 100644 --- a/docs/backends/lua2.rst +++ b/docs/backends/lua2.rst @@ -2,16 +2,23 @@ Lua2 Backend ============ * Native: Yes -* Master: Yes -* Slave: No -* Superslave: No +* Primary: Yes +* Secondary: No +* Producer: No +* Consumer: No +* Autosecondary: No +* DNS Update: No * DNSSEC: Yes * Disabled data: No * Comments: No -* Zone caching: Yes +* API: Read-Write +* Multiple instances: Yes +* Zone caching: Yes\* * Module name: lua2 * Launch name: ``lua2`` +\* If provided by the responder (your script). + This is a rewrite of existing Lua backend. This backend is stub between your Lua script and PowerDNS authoritative server. The backend uses AuthLua4 base class, and you can use same functions and types as in any other Lua script. diff --git a/docs/backends/pipe.rst b/docs/backends/pipe.rst index d857624bb464..029f9cbd1c6a 100644 --- a/docs/backends/pipe.rst +++ b/docs/backends/pipe.rst @@ -2,13 +2,17 @@ Pipe Backend ============ * Native: Yes -* Master: No -* Slave: No -* Superslave: No -* Case: Depends -* DNSSEC: Partial, no delegation, no key storage +* Primary: No +* Secondary: No +* Producer: No +* Consumer: No +* Autosecondary: No +* DNS Update: No +* DNSSEC: No * Disabled data: No * Comments: No +* API: Read-only +* Multiple instances: Yes * Zone caching: No * Module name: pipe * Launch name: ``pipe`` diff --git a/docs/backends/random.rst b/docs/backends/random.rst index 61c36011aa85..045a71c11655 100644 --- a/docs/backends/random.rst +++ b/docs/backends/random.rst @@ -2,28 +2,32 @@ Random Backend ============== .. deprecated:: 4.6.0 - This backend has been removed in 4.6.0 - -- Native: Yes -- Master: No -- Slave: No -- Superslave: No -- Case: Depends -- DNSSEC: Yes, no key storage -- Disabled data: No -- Comments: No -- Zone caching: No -- Module name: built in -- Launch: ``random`` - -This is a very silly backend which is discussed in the :doc:`Backends -writer's guide <../appendices/backend-writers-guide>`. -as a demonstration on how to write a PowerDNS backend. - -This backend knows about only one hostname, and only about its IP -address at that. With every query, a new random IP address is generated. - -It only makes sense to load the random backend in combination with a + This backend was removed in 4.6.0 + +* Native: Yes +* Primary: No +* Secondary: No +* Producer: No +* Consumer: No +* Autosecondary: No +* DNS Update: No +* DNSSEC: No +* Disabled data: No +* Comments: No +* API: No +* Multiple instances: No +* Zone caching: No +* Module name: random +* Launch: ``random`` + +This used to be a very silly backend which is still discussed in the +:doc:`Backends writer's guide <../appendices/backend-writers-guide>`. as a +demonstration on how to write a PowerDNS backend. + +This backend knew about only one hostname, and only about its IP +address at that. With every query, a new random IP address was generated. + +It only made sense to load the random backend in combination with a regular backend. This can be done by prepending it to the :ref:`setting-launch` instruction, such as ``launch=random,gmysql``. diff --git a/docs/backends/remote.rst b/docs/backends/remote.rst index d2e6f62ed5d4..f121035a8d55 100644 --- a/docs/backends/remote.rst +++ b/docs/backends/remote.rst @@ -2,12 +2,20 @@ Remote Backend ============== * Native: Yes -* Master: Yes\* -* Slave: Yes\* -* Superslave: Yes\* +* Primary: Yes\* +* Secondary: Yes\* +* Producer: No +* Consumer: No +* Autosecondary: Yes\* +* DNS Update: No * DNSSEC: Yes\* -* Zone caching: Yes\* +* Disabled data: No +* Comments: No +* API: Read-Write * Multiple instances: Yes +* Zone caching: Yes\* +* Module name: remote +* Launch: ``remote`` \* If provided by the responder (your script). diff --git a/docs/backends/tinydns.rst b/docs/backends/tinydns.rst index 9ab90282e7b8..5d2f27ccd791 100644 --- a/docs/backends/tinydns.rst +++ b/docs/backends/tinydns.rst @@ -1,15 +1,21 @@ TinyDNS Backend =============== -- Native: Yes -- Master: Yes -- Slave: No -- Superslave: No -- DNSSEC: No -- Zone caching: Yes -- Multiple Instances: Yes -- Module name: tinydns -- Launch: ``tinydns`` +* Native: Yes +* Primary: Yes +* Secondary: No +* Producer: No +* Consumer: No +* Autosecondary: No +* DNS Update: No +* DNSSEC: No +* Disabled data: No +* Comments: No +* API: Read-only +* Multiple Instances: Yes +* Zone caching: Yes +* Module name: tinydns +* Launch: ``tinydns`` The TinyDNS backend allows you to use `djbdns's `__ ``data.cdb`` file format as