Use fqdn package to help verify if the record value is really valid.
The original behavior will treat value like `_.` or `.` be a valid
record, which is strange, and the real world may not have those use
cases at all.
The RFC documents are pretty long, as I didn't read them all or enough
to tell should it be valid or not by the spec, so I opened issue #612 to
discuss this case and got a positive response from the main maintainer
to have the change.
Close #628
This commit strips any superfluous -alphaN (or beta or rc) from the
version number's minor number so it can be cast to an int. This will
allow octodns to sync to/from PowerDNS pre-releases.
It can be useful to only synchronize zones that use a certain source. For
example, in a situation where some zones use a dynamic source and others don't,
you probably want to synchronize those with a dynamic source regularly, and
only synchronize the others when a change is made.
Although we only synchronize the zones that use a given source, we still want
to synchronize all sources to avoid deleting records that would live in another
source of the zone.
This commit adds support for zones aliases. This allows to define one or
multiple zone as aliases of an existing zone without using workarounds
like simlinks and miltiple "zones" entries in the configuration file.
An alias zone is share all of its content with it parent zone, only the
name of the zone is different.
```
zones:
example.com.:
aliases:
- example.net.
- example.org.
sources:
- in
targets:
- out
```
Known issues:
- No documentation,
- Only the `octodns-sync` and `octodns-validate` commands supports
aliases zones at this time,
I added a loop in the manager init function which convert all alias
zone to "real" ones during config validation, however I'm not sure
this is the right approach. Comments welcome.