commit b4133eaed9ed0d5abb2960c5bfd13586bc1a9108
parent 7aaed3b79f51f5ad469c56564524dea053463c5b
Author: tg(x) <*@tg-x.net>
Date: Sat, 5 Feb 2011 22:04:38 +0100
docs
Diffstat:
M | README.org | | | 93 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
1 file changed, 49 insertions(+), 44 deletions(-)
diff --git a/README.org b/README.org
@@ -57,39 +57,6 @@ key management.
* Usage
-** Zone files
-
-There are a few keywords you can use in the zone files:
-
-- ;AUTO_INCREMENT after a serial number to automatically increment it during
- a push. If the number is 8 digits and starts with 20 it's treated as a date.
- e.g.:
- : example.net. IN SOA ns1.example.net. hostmaster.example.net. (
- : 2011013101 ;AUTO_INCREMENT
- : 1d 2h 4w 2d )
-
-- $INCLUDE can be used to include other files from the repository, the file
- names should be prefixed with the user name
-
-- ;INCLUDED_BY on the first line of a file indicates what other files include
- this file. When this file is committed & pushed all the other files listed
- after ;INCLUDED_BY are reloaded as well.
-
- E.g. if you have the following files in the repository then a change in
- example-common would result in the reload of both example.net & example.org:
-
- - example.net:
- : ...
- : $INCLUDE username/example-common example.net.
-
- - example.org:
- : ...
- : $INCLUDE username/example-common example.org.
-
- - example-common:
- : ;INCLUDED_BY example.net example.org
- : ...
-
** Git repository
To make changes to the zones you need to clone the git repository, edit the
@@ -107,23 +74,26 @@ hooks on the server make commits to the repository during a push.
** SSH commands
-The following SSH commands can be used:
+The following SSH commands are provided by gitzone-shell:
- =update-record <filename> <record>=: updates the IP address of the first matched
- record in the given file to the SSH client's IP address
+ record in the given file to the SSH client's IP address.
: % ssh ns.example.net update-record example.net somehost IN A
-- =list-keys=: list added ssh keys
- : % ssh ns.example.net list-keys
+- SSH key management commands, to use these =touch
+ .ssh/authorized_keys_edit_enabled= in the users' home directories.
+
+ - =list-keys=: list added ssh keys
+ : % ssh ns.example.net list-keys
-- =add-key=: add a new ssh key
- : % ssh ns.example.net add-key `cat id_rsa.pub`
+ - =add-key=: add a new ssh key
+ : % ssh ns.example.net add-key `cat id_rsa.pub`
- or only allow one specific command:
- : % ssh ns.example.net add-key 'command="update-record example.net somehost IN A"' `cat id_rsa.pub`
+ or only allow one specific command:
+ : % ssh ns.example.net add-key 'command="update-record example.net somehost IN A"' `cat id_rsa.pub`
-- =del-key=: delete an ssh key from the config
- : % ssh ns.example.net del-key user@somewhere
+ - =del-key=: delete an ssh key from the config
+ : % ssh ns.example.net del-key user@somewhere
** Dynamic DNS
@@ -137,4 +107,39 @@ update your IP is:
Run this command whenever the IP changes or the interface comes up.
-- *Debian*: On Debian-like systems you can use a post-up command in /etc/network/interfaces.
+*** Debian
+
+On Debian-like systems you can use a post-up command in /etc/network/interfaces.
+
+** Zone files
+
+There are a few keywords you can use in the zone files:
+
+- ;AUTO_INCREMENT after a serial number to automatically increment it during
+ a push. If the number is 8 digits and starts with 20 it's treated as a date.
+ e.g.:
+ : example.net. IN SOA ns1.example.net. hostmaster.example.net. (
+ : 2011013101 ;AUTO_INCREMENT
+ : 1d 2h 4w 2d )
+
+- $INCLUDE can be used to include other files from the repository, the file
+ names should be prefixed with the user name
+
+- ;INCLUDED_BY on the first line of a file indicates what other files include
+ this file. When this file is committed & pushed all the other files listed
+ after ;INCLUDED_BY are reloaded as well.
+
+ E.g. if you have the following files in the repository then a change in
+ example-common would result in the reload of both example.net & example.org:
+
+ - example.net:
+ : ...
+ : $INCLUDE username/example-common example.net.
+
+ - example.org:
+ : ...
+ : $INCLUDE username/example-common example.org.
+
+ - example-common:
+ : ;INCLUDED_BY example.net example.org
+ : ...