Jonathan Leroy
de51e5f531
Add support for DNAME records
5 years ago
Justin B Newman
427b8a1a06
Add support for wildcard SRV records, as shown in RFC 2782
5 years ago
Lance Hudson
e477f9f888
Add the ability to mark a zone as lenient
6 years ago
Ross McFarland
827b44daba
Add TCP health check support to Record
6 years ago
Ross McFarland
54699e05ce
dynamic validation tweak, allow reuse of pool if 2nd occur is a default
6 years ago
Ross McFarland
d35c136858
Warn about unused pools, ones not referenced by a rule
6 years ago
Ross McFarland
aa58631dcd
Validate dynamic rules do not reuse pools
6 years ago
Ross McFarland
9e948aa4c8
Validate Record name & fqdn length
6 years ago
Ross McFarland
c82e94792e
RackspaceProvider python3, value types hashing
6 years ago
Ross McFarland
da09d9baaf
Modernize object cmp methods
6 years ago
Ross McFarland
a9d0eef3ba
Lots of text_type
6 years ago
Kitten King
daa6fecc9b
Fix Typos
6 years ago
Ross McFarland
003e8651ce
Drop dynamic record value weight to 0-16
That's all Dyn supports and it's cleaner to match it than to scale dyn since
we'd lose precision we can't get back during populate.
7 years ago
Peter Dave Hello
68580ac25b
Normalize CNAME/ALIAS/PTR value to lower-case
7 years ago
Peter Dave Hello
e0a8a619d6
Normalize MX exchange to lower-case, fix #322
7 years ago
Jörg Runkel
54787529d5
Move measure_latency option to Route53 provider
7 years ago
Jörg Runkel
1794f5ccd6
Add healthcheck option 'measure_latency' for Route53 provider
Route53 allows to monitor latency information on the dashboard
and using CloudWatch. While that is a nice to have function,
it is not necessary for a DNS failover scenario and increases
Route 53 costs.
To maintain backward compatibility, the default for this option
when ommited is true.
7 years ago
Ross McFarland
d4c4c479c4
Ensure that dynamic and geo can't coexist
7 years ago
Ross McFarland
ad04cefd88
More robust __eq__ on _Dynamic objects
7 years ago
Ross McFarland
60911917b4
Implement Dync populate dynamic, flesh out testing for all but dyn
7 years ago
Ross McFarland
388e9a67e0
Hook up new GeoCodes validation to _DynamicMixin
7 years ago
Ross McFarland
a767a5cb25
Implement pool-level fallbacks and validations
7 years ago
Ross McFarland
ccd9038a38
Impliment Dynamic rule geo validation
7 years ago
Ross McFarland
e16648ab1f
Progress towards fully fleshed out pools & rules
7 years ago
Ross McFarland
b80348c2c7
Add __eq__, __ne__, and __repr__ to Dynamic objects and test
7 years ago
Ross McFarland
446f66f562
Implement _DynamicMixin's value objects, unit test them
7 years ago
Ross McFarland
70c35aac26
WIP implementation of dyanmic pools & rules validation
7 years ago
Ross McFarland
c9b373f0ae
Further clean up/division of labor and tests
7 years ago
Ross McFarland
2829862ea5
Major refactoring of record validation to better support (planned) complex/dynamic record types
7 years ago
Ross McFarland
3ea78af8e1
pycodestyle updates, mostly escaping \, couple r's, ignore break on binary
8 years ago
Ross McFarland
e6d8669611
Implement healthcheck protocol and port for Dyn
8 years ago
Ross McFarland
849a97f161
Add healthcheck protocol validation, HTTP or HTTPS
8 years ago
Ross McFarland
9752cb0a12
Add protocol and port to octodns.healthcheck configurables
8 years ago
Josh Soref
5d2ba2e715
Spelling ( #214 )
* spelling: ancillary
* spelling: antarctica
* spelling: australia
* spelling: authentication
* spelling: continental
* spelling: constructor
* spelling: conversion
* spelling: creation
* spelling: doesn't
* spelling: easily
* spelling: efficiently
* spelling: equivalent
* spelling: essentially
* spelling: everything
* spelling: exactly
* spelling: be
* spelling: expensive
* spelling: supports
* spelling: healthcheck
* spelling: immediately
* spelling: ignored
* spelling: invocation
* spelling: itself
* spelling: leftovers
* spelling: missing
* spelling: natural
* spelling: nonexistent
* spelling: peculiarities
* spelling: pointing
This change hit a line length limitation, so I'm wrapping it and
adding a period which appears to match local style...
* spelling: quicker
* spelling: response
* spelling: requested
* spelling: redirect
* spelling: traffic
* spelling: unknown
* spelling: uploaded
* spelling: useful
* spelling: separately
* spelling: zone
8 years ago
Ross McFarland
093398ff94
Support for SSHFP ECDSA (3) and SHA-256 (2)
RFC 6594 & RFC 7479
8 years ago
Ross McFarland
af435c3130
Handle MX preference of 0
8 years ago
Adam Smith
bf1896329b
validate values for empty string or None value
dump does not write invalid value(s) to yaml
8 years ago
Ross McFarland
bf4f7dd42d
Allow enabling lenient on a per-record basis with octodns.lenient
```
---
'':
octodns:
ignored: True
lenient: True
type: CNAME # not valid to have a root cname
value: foo.com.
8 years ago
Ross McFarland
30efda3295
Make long TXT record concat cleaerer
8 years ago
Ross McFarland
70120bedc8
Implement "chunked" TXT/SPF value support for long values
This implements it transparently at Record level. Providers that need things to
be chunked (seems to just be Route53 an Dyn) switch to use `chunked_values`, but
everything else can stick with `values`. I've run through each provider I have
access to verifying that things operate as expected/required. OVH and Azure are
untested.
8 years ago
Ross McFarland
ba6dc9858e
Get out of the business of validating CAA records
Seem to be pretty inconsistently implemented/validated across providers so
just shrug and move on.
8 years ago
Ross McFarland
1e68cd6ae9
Add CAA support to Dyn, PowerDNS, and Route53
8 years ago
Ross McFarland
4cae1e2bdb
Add CAA Record class and tests
8 years ago
Ross McFarland
4e3cc6b46a
SSHFP RFC4255 - validate algorithm & fingerprint_type
- unrecognized wording for invalid values
9 years ago
Ross McFarland
3ce0d71e62
NAPTR RFC2915 - validate flags (partial)
- punting on service, regex & replacement validation for now
- clean up MX a smidge
9 years ago
Ross McFarland
6fc82fd279
Validate that MX preference parses as int
9 years ago
Ross McFarland
1340aee8a9
MX RFC1035 - priority -> preference & value -> exchange
9 years ago
Ross McFarland
d2af8efe5c
Root CNAMEs are not allowed
9 years ago
Ross McFarland
a97818b6ec
populating existing provider state is lenient
- adds lenient flag to Record.new, problems during validation are just
warnings if it's true
- target populate calls during the plan phase pass lenient=True
- make all of the provider.populate call logging consistent including both
target and lenient
- add source=self to Record.new in a few places that were missing it
9 years ago
Ross McFarland
8323b4c0ea
Complete refactor & rework of how validation is set up
This is with an eye toward expanding it in the future both in terms of what it
checks and to add the ability to ignore things. This commit does not intend to
change any validation. It only reworks the flow and improves the error
messaging.
9 years ago