README
author Tero Marttila <terom@paivola.fi>
Thu, 19 Dec 2013 20:47:43 +0200
branchdns-new
changeset 92 639a5093039b
parent 78 5a21b5238fa9
permissions -rw-r--r--
lib/update.operations: update_domain_forward/reverse: use --add-origin, unless hosts name does not include a .
33
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
Manage DNS/bind9 zonefiles.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
update:
78
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
     4
    ./bin/update reads data from settings/, and generates zonefiles under var/zones/.
33
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     5
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     6
    `update` also shows and commits changes in settings/ data.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     7
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
     8
    -d DIR
34
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
     9
        Do data operations under given dir-root, as opposed to CWD.
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    10
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    11
    -q
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    12
        Quiet. No log messages except errors.
34
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    13
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    14
    -vDV
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    15
        Increasing logging verbosity.
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    16
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    17
    -p
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    18
        Show diffs for changed output on stdout.
34
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    19
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    20
    -F
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    21
        Force-update output files, even if newer than input files.
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    22
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    23
    -S
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    24
        Do not generate new serials for zones.
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    25
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    26
    -s
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    27
        Generate new serials for all zones.
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    28
34
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    29
    -n
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    30
        Fake-update; show changes, but don't actually commit/deploy them.
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    31
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    32
        Useful for testing.
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    33
34
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    34
    -C
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    35
        Do not commit source changes.
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    36
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    37
    -c
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    38
        Force-commit source changes, even though -n
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    39
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    40
    -m MSG
34
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    41
        Commit message for source changes; optional
d2e187c1f548 README: update opts
Tero Marttila <terom@paivola.fi>
parents: 33
diff changeset
    42
33
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    43
bin/update-serial:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    44
    Increment DNS SOA record serials in the given .serial files.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    45
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    46
    Uses a YYYYMMDDXX format, but supports XX overflow.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    47
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    48
bin/process-zone:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    49
    Read zonefile containing records, and generate any of:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    50
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    51
    --check-hosts:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    52
        Check for duplicate host names/IPs.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    53
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    54
    --forward-zone:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    55
        Generate additional TXT/MX records to supplement A/CNAME records.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    56
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    57
    --reverse-zone=NET
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    58
        Generate PTR records for all matching A records.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    59
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    60
    --meta-zone:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    61
        Generate additional TXT records from zonefile metadata, read from:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    62
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    63
            hg annotate -q --date | ./bin/process-zone --input-line-date ...
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    64
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    65
bin/expand-zone:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    66
    Expand template vars in a zone textfile; does not parse records, just passes through lines.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    67
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    68
    Used to substitute e.g. `--serial .../foo.serial` values into SOA '{serial}' fields.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    69
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    70
bin/update:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    71
    Runs update-serial/process-zone/expand-zone to keep various generated zones/views up-to-date with respect to
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    72
    source files under settings/.
33
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    73
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    74
    Also supports hg diff/commit/annotate integration with settings.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    75
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    76
    Acts as our configuration file, determining the data/zones layout below.
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    77
33
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    78
settings/:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    79
    Input files, fed through update to generate files under zones/
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    80
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    81
    *.zone:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    82
        Zone header, passed through process-zone with `--serial *.serial` and any appropriate `--expand view=...`.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    83
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    84
        May include a view-based $INCLUDE to include different zone data for different views.
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    85
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    86
    *.zone.*:
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    87
        Include zonefiles, $INCLUDE'd from *.zone
33
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    88
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    89
    *.txt:
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    90
        Hosts zone data, used to generate forwards/reverse -hosts zones
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    91
78
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
    92
var/
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
    93
    Generated files.
33
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    94
78
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
    95
    zones/:
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
    96
        Generated zonefiles, loaded by bind.
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
    97
78
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
    98
        common/*
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
    99
            Common zone files shared across views.
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
   100
78
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   101
        hosts/*:$view
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   102
            View-variant hosts zones generated from settings/*.txt
56
12e098a732ed README: docdoc
Tero Marttila <terom@paivola.fi>
parents: 34
diff changeset
   103
78
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   104
        hosts/*
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   105
            Host zones generated from settings/*.txt, may be used in some views but not others.
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   106
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   107
        includes/*:$view
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   108
            View-specific zone includes used from view/*.
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   109
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   110
        includes/*.*
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   111
            Zone includes used from view/*.
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   112
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   113
        $view/*
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   114
            Zone data for given zone/domain in given view
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   115
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   116
        $view/* -> ...:
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   117
            Symlinked generic-zone data for some specific zone; either to common/* or $view/*.
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   118
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   119
    serials/*.serial
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   120
        Zone serial numbers for corresponding zones/*/*.zone
5a21b5238fa9 update README
Tero Marttila <terom@paivola.fi>
parents: 56
diff changeset
   121