NAME

DNS::Oterica - build dns configuration more easily

VERSION

version 0.314

OVERVIEW

DNS::Oterica is a system for generating DNS server configuration based on system definitions and role-based plugins. You need to provide a few things:

domain definitions

Domains are groups of hosts. You know, domains. This is a DNS tool. If you don't know what a domain is, you're in the wrong place.

host definitions

A host is a box with one or more interfaces. It is part of a domain, it has a hostname and maybe some aliases. It's a member of zero or more node groups.

node families

Nodes (both hosts and domains) can be parts of families. Families are groups of behavior that nodes perform. A family object is instantiated for each family, and once all nodes have been added to the DNS::Oterica hub, the family can emit more configuration.

PERL VERSION

This library should run on perls released even a long time ago. It should work on any version of perl released in the last five years.

Although it may work on older versions of perl, no guarantee is made that the minimum required version will not be increased. The version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl.

WARNING

HIGHLY EXPERIMENTAL

This code is really not stable yet. We're using it, and we're going to feel free to make incompatible changes to it whenever we want. Eventually, that might change and we will reach a much stabler release cycle.

This code has been released so that you can see what it does, use it cautiously, and help guide it toward a stable feature set.

I WANT TO KNOW MORE

Please read DNS::Oterica::Tutorial, which may or may not yet exist.

TODO

There's a lot of stuff to do.

* determine location automatically based on world IP
* look into replacing nodefamily behavior with Moose roles
* rewrite tests to use Diagnostic recordmaker
* thorough tests for TinyDNS recordmaker
* simpler method to say "being in family X implies being in Y"
* means to replace Module::Pluggable with list of families to register
* means to track concepts like virts/zones, zonehosts, per-host interfaces

AUTHOR

Ricardo SIGNES <cpan@semiotic.systems>

CONTRIBUTORS

  • Chris Nehren <apeiron@cpan.org>

  • Joel Shea <jshea@fastmail.com>

  • Ricardo Signes <rjbs@semiotic.systems>

COPYRIGHT AND LICENSE

This software is copyright (c) 2022 by Ricardo SIGNES.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.