Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: Backend docs #14840

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions docs/backends/bind.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@ BIND zone file backend
======================

* Native: Yes
* Master: Yes
* Slave: Yes
* Superslave: Experimental
* Primary: Yes
* Secondary: Yes
* Producer: Yes
* Consumer: Yes
* Autosecondary: Yes
* DNS Update: No
* DNSSEC: Yes
* Disabled data: No
* Comments: No
* API: Read-only
* Multiple instances: No
* Zone caching: Yes (except in hybrid mode)
* Module name: bind
* Launch: ``bind``
Expand Down
12 changes: 8 additions & 4 deletions docs/backends/generic-mysql.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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``
Expand Down
12 changes: 8 additions & 4 deletions docs/backends/generic-odbc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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``
Expand Down
12 changes: 8 additions & 4 deletions docs/backends/generic-postgresql.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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``
Expand Down
11 changes: 8 additions & 3 deletions docs/backends/generic-sqlite3.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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``
Expand Down
11 changes: 8 additions & 3 deletions docs/backends/geoip.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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: ???
* Multiple instances: ???
* Zone caching: Yes
* Module name: geoip
* Launch name: ``geoip``
Expand Down
58 changes: 29 additions & 29 deletions docs/backends/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <bind>` | Yes | Yes | Yes | No | No | Yes | No | Yes | ``bind`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`Generic Mysql/Mariadb <generic-mysql>` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gmysql`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`Generic ODBC <generic-odbc>` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``godbc`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`Generic Postgresql <generic-postgresql>` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gpgsql`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`Generic SQLite3 <generic-sqlite3>` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gsqlite3`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`GeoIP <geoip>` | Yes | No | No | No | No | No | No | Yes | ``geoip`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`LDAP <ldap>` | Yes | Yes | No | No | No | No | No | No | ``ldap`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`LMDB <lmdb>` | Yes | Yes | Yes | Yes | Yes | No | No | Yes | ``lmdb`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`Lua2 <lua2>` | Yes | Yes | No | No | No | No | No | Yes | ``lua2`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`Pipe <pipe>` | Yes | No | No | No | No | No | No | No | ``pipe`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`Random <random>` | Yes | No | No | No | No | No | No | No | ``random`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`Remote <remote>` | Yes | Yes\* | Yes\* | No | No | Yes\* | No | Yes\* | ``remote`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+--------------+----------------------------------+---------------------------------+--------------+
| :doc:`TinyDNS <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 <bind>` | Yes | Yes | Yes | No | No | Yes | No | Yes | ``bind`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`Generic Mysql/Mariadb <generic-mysql>` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gmysql`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`Generic ODBC <generic-odbc>` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``godbc`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`Generic Postgresql <generic-postgresql>` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gpgsql`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`Generic SQLite3 <generic-sqlite3>` | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ``gsqlite3`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`GeoIP <geoip>` | Yes | No | No | No | No | No | No | Yes | ``geoip`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`LDAP <ldap>` | Yes | Yes | No | No | No | No | No | No | ``ldap`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`LMDB <lmdb>` | Yes | Yes | Yes | Yes | Yes | No | No | Yes | ``lmdb`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`Lua2 <lua2>` | Yes | Yes | No | No | No | No | No | Yes | ``lua2`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`Pipe <pipe>` | Yes | No | No | No | No | No | No | No | ``pipe`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`Random <random>` | Yes | No | No | No | No | No | No | No | ``random`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`Remote <remote>` | Yes | Yes\* | Yes\* | No | No | Yes\* | No | Yes\* | ``remote`` |
+------------------------------------------------+--------+---------+-----------+----------+----------+---------------+----------------------------------+---------------------------------+--------------+
| :doc:`TinyDNS <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 <generic-sql>` to the generic SQL backends.
Expand Down
11 changes: 8 additions & 3 deletions docs/backends/ldap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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: ???
* Multiple instances: ???
* Zone caching: No
* Module name: ldap
* Launch name: ``ldap``
Expand Down
11 changes: 7 additions & 4 deletions docs/backends/lmdb.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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: ???
* Multiple instances: No
* Zone caching: Yes
* Module name: lmdb
Expand Down
11 changes: 8 additions & 3 deletions docs/backends/lua2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@ 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
* API: ???
* Multiple instances: ???
* Zone caching: Yes
* Module name: lua2
* Launch name: ``lua2``
Expand Down
12 changes: 8 additions & 4 deletions docs/backends/pipe.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@ Pipe Backend
============

* Native: Yes
* Master: No
* Slave: No
* Superslave: No
* Case: Depends
* Primary: No
* Secondary: No
* Producer: No
* Consumer: No
* Autosecondary: No
* DNS Update: No
* DNSSEC: Partial, no delegation, no key storage
* Disabled data: No
* Comments: No
* API: ???
* Multiple instances: ???
* Zone caching: No
* Module name: pipe
* Launch name: ``pipe``
Expand Down
30 changes: 17 additions & 13 deletions docs/backends/random.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@ 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 backend was removed in 4.6.0

* Native: Yes
* Primary: No
* Secondary: No
* Producer: No
* Consumer: No
* Autosecondary: No
* DNS Update: No
* DNSSEC: Yes, no key storage
* Disabled data: No
* Comments: No
* API: ???
* Multiple instances: ???
* 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>`.
Expand Down
16 changes: 12 additions & 4 deletions docs/backends/remote.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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: ???
* Multiple instances: Yes
* Zone caching: Yes\*
* Module name: remote
* Launch: ``remote``

\* If provided by the responder (your script).

Expand Down
24 changes: 15 additions & 9 deletions docs/backends/tinydns.rst
Original file line number Diff line number Diff line change
@@ -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: ???
* Comments: ???
* API: ???
* Multiple Instances: Yes
* Zone caching: Yes
* Module name: tinydns
* Launch: ``tinydns``

The TinyDNS backend allows you to use
`djbdns's <http://cr.yp.to/djbdns.html>`__ ``data.cdb`` file format as
Expand Down
Loading