<varname>class</varname> to optionally select the class
(it defaults to <quote>IN</quote>);
and
- <varname>zones</varname> to define the
- <varname>file</varname> path name and the
- <varname>origin</varname> (default domain).
+ <varname>zones</varname> to define
+ the <varname>file</varname> path name,
+ the <varname>filetype</varname> (e.g., <varname>sqlite3</varname>),
+ and the <varname>origin</varname> (default domain).
By default, this is empty.
Only the IN class is supported at this time.
By default, the memory data source is disabled.
Also, currently the zone file must be canonical such as
- generated by <command>named-compilezone -D</command>.
+ generated by <command>named-compilezone -D</command>, or
+ must be an SQLite3 database.
</simpara></note>
</simpara>
after it is loaded.
</para>
+ </section>
+
+ <section id="in-memory-datasource-with-sqlite3-backend">
+ <title>In-memory Data Source With SQLite3 Backend</title>
+
+ <para>
+<!-- How to configure it. -->
+ The following commands to <command>bindctl</command>
+ provide an example of configuring an in-memory data
+ source containing the <quote>example.org</quote> zone
+ with a SQLite3 backend file named <quote>example.org.sqlite3</quote>:
+
+<!--
+ <screen>> <userinput> config set Auth/datasources/ [{"type": "memory", "zones": [{"origin": "example.org", "file": "example.org.sqlite3", "filetype": "sqlite3"}]}]</userinput></screen>
+-->
+
+ <screen>> <userinput>config add Auth/datasources</userinput>
+> <userinput>config set Auth/datasources[1]/type "<option>memory</option>"</userinput>
+> <userinput>config add Auth/datasources[1]/zones</userinput>
+> <userinput>config set Auth/datasources[1]/zones[0]/origin "<option>example.org</option>"</userinput>
+> <userinput>config set Auth/datasources[1]/zones[0]/file "<option>example.org.sqlite3</option>"</userinput>
+> <userinput>config set Auth/datasources[1]/zones[0]/filetype "<option>sqlite3</option>"</userinput>
+> <userinput>config commit</userinput></screen>
+
+ The authoritative server will begin serving it immediately
+ after it is loaded.
+ </para>
+
+ </section>
+
+ <section id="in-memory-datasource-loading">
+ <title>Reloading an In-memory Data Source</title>
+
<para>
Use the <command>Auth loadzone</command> command in
<command>bindctl</command> to reload a changed master
</para>
-->
+ </section>
+ <section id="in-memory-datasource-disabling">
+ <title>Disabling In-memory Data Sources</title>
+
<para>
By default, the memory data source is disabled; it must be
configured explicitly. To disable all the in-memory zones,
</para>
<!-- TODO: http://bind10.isc.org/ticket/1279 -->
- <note><simpara>
- In the current development release of BIND 10, incoming zone
- transfers are only available for SQLite3-based data sources,
- that is, they don't work for an in-memory data source.
- </simpara></note>
-
<section>
<title>Configuration for Incoming Zone Transfers</title>
<para>
</para>
</section>
+ <section>
+ <title>Incoming Transfers with In-memory Datasource</title>
+
+ <para>
+ In the case of an incoming zone which is served by an in-memory
+ datasource with an SQLite3 backend, the zone is first stored in
+ the corresponding backend file. Then,
+ <command>b10-auth</command> is automatically sent a
+ <varname>loadzone</varname> command to reload the corresponding
+ zone into memory from the backend file.
+ </para>
+ </section>
+
<!-- TODO: can that retransfer be used to identify a new zone? -->
<!-- TODO: what if doesn't exist at that master IP? -->