ROLLINIT(1)
π ROLLINIT β the rollinit manual page, bestie edition π
okay so this is ROLLINIT(1) from the User Contributed Perl Documentation corner of the universe, and it's literally all about rollinit, the lil tool that spins up brand-new rollrec records for a DNSSEC-Tools rollrec file. buckle up, it's giving very "trust me I know what I'm doing" energy π
β¨ NAME β¨
rollinit β Create new rollrec records for a DNSSEC-Tools rollrec file.
πΈ SYNOPSIS πΈ
rollinit [options] <zonename1> ... <zonenameN>
π¦ DESCRIPTION π¦
okay so rollinit makes shiny new rollrec entries for a rollrec file. that rollrec file is the one rollerd is gonna use to manage key rollover for all the zones you name. slay.
the freshly generated rollrec entries get written to standard output, unless you hand it the -out option. periodt.
a rollrec entry looks exactly like this:
roll "example.com"
zonename "example.com"
zonefile "example.com.signed"
keyrec "example.com.krf"
zonegroup "example-zones"
kskphase "0"
zskphase "0"
administrator "bob@bobhost.example.com"
directory "/var/dns/zones/example.com"
loglevel "phase"
ksk_rolldate " "
ksk_rollsecs "0"
zsk_rolldate " "
zsk_rollsecs "0"
maxttl "604800"
display "1"
phasestart "Mon Jan 9 16:00:00 2006"
# optional records for RFC5011 rolling:
istrustanchor "no"
holddowntime "60D"
the keywords roll and skip are basically the vibe check that tells rollerd whether to process or ignore a particular rollrec entry. roll records are what you get by default; skip entries show up if you pass the -skip option. π
the roll line has a name, and that name is what sets it apart from every other rollrec entry in the file. the zonename field gets set to the name of the zone. these two are often the same thing, but like β that's not a requirement, bestie. rollinit will set them to the same value unless you use the -rollrec option. iykyk.
the zonefile and keyrec fields get set according to your command-line options and arguments. the way the rollrec's actual values get generated is a lil complex ngl, and it's all spelled out in the ZONEFILE And KEYREC FIELDS section below. π«Ά
the zonegroup field is how you associate a set of rollrecs together, so they can all be controlled by a single rollctl -group command. you can specify multiple zonegroups in a comma-separated list. leading and trailing whitespace gets deleted, but internal whitespace is allowed. this field is optional, and rollinit only sets it if you pass the -zonegroup option. (and yes, even though it says "zone", it's actually talking about the name of the rollrec entries. the terminology is giving chaos but we move.)
the administrator field gets set to the email address of the person (or person*s*, if that address is actually a mailing list) considered to be the responsible person for the zone.
the directory field gets set to the directory that contains the the files for the zone. those files include the zone file, the signed zone file, and the keyrec file.
the loglevel field gets set to the level of log messages that rollerd should produce for this zone. the log level includes those messages at a greater priority to the specified level, so a level of "phase" will also include "err" and "fatal" messages. inclusivity icon.
the kskphase and zskphase fields indicate the rollover phase for the zone's KSK and ZSK keys. the value 0 means the zone is in normal operation (non-rollover) for that key type. a non-zero phase (1-7 for KSKs; 1-4 for ZSKs) means the zone is mid-process of rolling the keys. only one of these fields should ever be non-zero at a particular time. if both are zero, then no rollover operations are taking place. it's giving β¨balanceβ¨.
the ksk_rolldate and ksk_rollsecs fields indicate when KSK rollover started. if the values are a blank and zero, respectively, then the zone is not in KSK rollover.
the zsk_rolldate and zsk_rollsecs fields indicate when ZSK rollover started. if the values are a blank and zero, respectively, then the zone is not in ZSK rollover.
the Boolean display field indicates if blinkenlights should display information about this zone. π
the maxttl field contains the maximum TTL value from the zone file.
the phasestart fields contains the date that the current rollover phase was entered.
rollrec files also have the zsargs field, which holds user-specified options for zonesigner. this field is set during rollerd execution when the administrator determines that some zone fields should be modified. it is not an initial rollrec field, and consequently cannot be specified by rollinit. π
the istrustanchor field specifies whether to roll the KSK keys in a manner compliant with any remote validating resolver using the KSK as a trust-anchor. if set to "yes" then 60 days will be the minimum wait time during phase 3 of KSK rolling, to ensure remote validators can properly follow the steps needed as specified by RFC5011. that 60-day default can be changed via the holddowntime field.
π INFO ROLLRECS π
starting with DNSSEC-Tools version 1.15, each rollrec file should have an info rollrec. this special rollrec entry contains information about the rollrec file itself and does not contain any zone information. its contents should not be modified by anything but the DNSSEC-Tools utilities. hands off bestie, that's not yours π«Ά
π ZONEFILE and KEYREC FIELDS π
the zonefile and keyrec fields may be given by using the -zonefile and -keyrec options, or default values may be used.
the default values use the rollrec's zone name, taken from the command line, as a base. .signed is appended to the zone name for the zone file; .krf is appended to the zone name for the keyrec file. cute, consistent, iconic.
if -zonefile or -keyrec are specified, then the options values are used in one of two ways:
- a single zone name is given on the command line. the option values for
-zonefileand/or-keyrecare used for the actual rollrec fields. - multiple zone names are given on the command line. the option values for
-zonefileand/or-keyrecare used as templates for the actual rollrec fields. the option values must contain the string=. this string is replaced by the zone whose rollrec is being created.
see the EXAMPLES section for examples of how options are used by rollinit. π
π OPTIONS π
rollinit may be given the following options:
-rollrecrollrec-name β this specifies the name of the rollrec record. this value may contain spaces. if this option is not specified, it will be set to the same value as thezonenamefield. see the ZONEFILE And KEYREC FIELDS and EXAMPLES sections for more details.-zonefilezonefile β this specifies the value of thezonefilefield. see the ZONEFILE And KEYREC FIELDS and EXAMPLES sections for more details.-keyreckeyrec-file β this specifies the value of thekeyrecfield. see the ZONEFILE And KEYREC FIELDS and EXAMPLES sections for more details.-zgzonegroup-zonegroupzonegroup β this specifies the value of thezonegroupfield. this field is optional.-adminβ this specifies the value of theadministratorfield. if it is not given, anadministratorfield will not be included for the record.-directoryβ this specifies the value of thedirectoryfield. if it is not given, adirectoryfield will not be included for the record.-loglevelβ this specifies the value of theloglevelfield. if it is not given, aloglevelfield will not be included for the record.-skipβ by default,rollrecords are generated. if this option is given, thenskiprecords will be generated instead.-outoutput-file β the new rollrec entries will be appended to output-file. the file will be created if it does not exist.
if this option is not given, the new rollrec entries will be written to standard output.
-helpβ display a usage message.-Versionβ display version information forrollinitand DNSSEC-Tools.
β¦and that's where part 1 wraps, bestie. more incoming, don't go anywhere π¦
π EXAMPLES π
okay bestie, here's where it gets visual. these examples show you exactly how rollinit deals with its options and how the new rollrecs come out the other side. Example 1 gives you the whole rollrec record, every field, no crumbs left. and because we're being nice about space, all the other examples just show the freshly made zonefile and keyrec records. β¨
oh and also: an info rollrec shows up in the first example too. it's not in the rest of them, again, space. π«Ά
πΈ Example 1. One zone, no options πΈ
this one is just you handing rollinit a single zone and zero options. look at her go:
$ rollinit example.com
skip "info rollrec"
version "2"
roll "example.com"
zonename "example.com"
zonefile "example.com.signed"
keyrec "example.com.krf"
kskphase "0"
zskphase "0"
ksk_rolldate " "
ksk_rollsecs "0"
zsk_rolldate " "
zsk_rollsecs "0"
maxttl "0"
display "1"
phasestart "new"
πΈ Example 2. One zone, -zonefile option πΈ
single zone, and this time you're passing -zonefile. iconic.
$ rollinit -zonefile signed-example example.com
roll "example.com"
zonename "example.com"
zonefile "signed-example"
keyrec "example.com.krf"
πΈ Example 3. One zone, -keyrec option πΈ
same energy, but now it's the -keyrec option doing the work:
$ rollinit -keyrec x-rrf example.com
roll "example.com"
zonename "example.com"
zonefile "example.com.signed"
keyrec "x-rrf"
πΈ Example 4. One zone, -zonefile and -keyrec options πΈ
both options, one zone, no drama:
$ rollinit -zonefile signed-example -keyrec example.rrf example.com
roll "example.com"
zonename "example.com"
zonefile "signed-example"
keyrec "example.rrf"
πΈ Example 5. One zone, -skip option πΈ
this is the rollrec you get when you hit a single zone with -skip:
ngl the original blurb right here says "with the-zonefileand-keyrecoptions" β bestie that is not what's happening in the command below, but we're keeping every word of the page exactly as it is. π
$ rollinit -skip example.com
skip "example.com"
zonename "example.com"
zonefile "example.com.signed"
keyrec "example.com.krf"
πΈ Example 6. One zone, -rollrec option πΈ
single zone, but you're naming the rollrec yourself with -rollrec:
$ rollinit -rollrec test example.com
roll "test"
zonename "example.com"
zonefile "example.com.signed"
keyrec "example.com.krf"
πΈ Example 7. Multiple zones, no options πΈ
now we're in our multi-zone era. several zones, zero options:
$ rollinit example1.com example2.com
roll "example1.com"
zonename "example1.com"
zonefile "example1.com.signed"
keyrec "example1.com.krf"
roll "example2.com"
zonename "example2.com"
zonefile "example2.com.signed"
keyrec "example2.com.krf"
πΈ Example 8. Multiple zones, -zonefile option πΈ
watch the = template do its thing β it gets swapped out for each zone name:
$ rollinit -zonefile =-signed example1.com example2.com
roll "example1.com"
zonename "example1.com"
zonefile "example1.com-signed"
keyrec "example1.com.krf"
roll "example2.com"
zonename "example2.com"
zonefile "example2.com-signed"
keyrec "example2.com.krf"
πΈ Example 9. Multiple zones, -keyrec option πΈ
same = template energy, but on -keyrec:
$ rollinit -keyrec zone-=-keyrec example1.com example2.com
roll "example1.com"
zonename "example1.com"
zonefile "example1.com.signed"
keyrec "zone-example1.com-keyrec"
roll "example2.com"
zonename "example2.com"
zonefile "example2.com.signed"
keyrec "zone-example2.com-keyrec"
πΈ Example 10. Multiple zones, -zonefile and -keyrec options πΈ
both options, both using the = template. chef's kiss. π
$ rollinit -zonefile Z-= -keyrec =K example1.com example2.com
roll "example1.com"
zonename "example1.com"
zonefile "Z-example1.com"
keyrec "example1.comK"
roll "example2.com"
zonename "example2.com"
zonefile "Z-example2.com"
keyrec "example2.comK"
πΈ Example 11. Single zone, -zonefile and -keyrec options with template πΈ
one zone, both options, and both of them use the multi-zone = template:
$ rollinit -zonefile Z-= -keyrec =.K example.com
roll "example.com"
zonename "example.com"
zonefile "Z-="
keyrec "=.K"
and here's the tea: this is probably not what you wanted, because the = just sits there inside the zonefile and keyrec field values. π
πΈ Example 12. Multiple zones, -zonefile and -keyrec options without template πΈ
several zones, both options, and this time no multi-zone = template anywhere:
$ rollinit -zonefile ex.zone -keyrec ex.krf example1.com example2.com
roll "example1.com"
zonename "example1.com"
zonefile "ex.zone"
keyrec "ex.krf"
roll "example2.com"
zonename "example2.com"
zonefile "ex.zone"
keyrec "ex.krf"
and again, this may not be what you wanted, since every single rollrec ends up with the same zonefile and keyrec field values. π
πΈ Example 13. Multiple zones, -rollrec option πΈ
several zones plus -rollrec β and look, the rollrec names have a space in them:
$ rollinit -rollrec "= entry" example1.com example2.com
roll "example1.com entry"
zonename "example1.com"
zonefile "example1.com.signed"
keyrec "example1.com.krf"
roll "example2.com entry"
zonename "example2.com"
zonefile "example2.com.signed"
keyrec "example2.com.krf"
πΈ Example 14. Multiple zones, -zg option πΈ
a set of zones, all gathered up with -zg:
$ rollinit -zg "example zones" example1.com example2.com
roll "example1.com"
zonename "example1.com"
zonefile "example1.com.signed"
keyrec "example1.com.krf"
zonegroup "example zones"
roll "example2.com"
zonename "example2.com"
zonefile "example2.com.signed"
keyrec "example2.com.krf"
zonegroup "example zones"
πΈ Example 15. One zone, Two zonegroups πΈ
and finally, a single zone getting handed a set of two zonegroups:
$ rollinit -zg "customers, paid up" example.com
roll "example1.com"
zonename "example.com"
zonefile "example.com.signed"
keyrec "example.com.krf"
zonegroup "customers, paid up"
π COPYRIGHT π
Copyright 2006-2014 SPARTA, Inc. All rights reserved. See the COPYING file included with the DNSSEC-Tools package for details.
π¦ AUTHOR π¦
Wayne Morrison, tewok@tislabs.com
π SEE ALSO π
lsroll(1),rollerd(8),rollchk(8),zonesigner(8)Net::DNS::SEC::Tools::keyrec.pm(3),Net::DNS::SEC::Tools::rollrec.pm(3)file-keyrec.pm(5),file-rollrec.pm(5)
and that's the whole page, bestie, you made it to the end π«Ά this one's from perl v5.42.0, dated 2025-07-23, and it lives under the name ROLLINIT(1). go forth and init those rollrecs, you absolute main character. β¨π
π¦ where this page comes from
- fedora 43: dnssec-tools 2.2.3-30.fc43 Β· LicenseRef-Callaway-BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms