Ross McFarland
9e948aa4c8
Validate Record name & fqdn length
2019-10-18 10:36:14 -07:00
Ross McFarland
c82e94792e
RackspaceProvider python3, value types hashing
2019-10-07 07:47:43 -07:00
Ross McFarland
f252aa3b98
Merge remote-tracking branch 'origin/master' into python3-start
2019-10-05 07:20:47 -07:00
Ross McFarland
da09d9baaf
Modernize object cmp methods
2019-07-29 08:45:49 -07:00
Ross McFarland
a9d0eef3ba
Lots of text_type
2019-07-29 08:37:47 -07:00
Kitten King
daa6fecc9b
Fix Typos
2019-07-20 06:31:05 +00:00
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.
2019-07-16 06:14:45 -07:00
Peter Dave Hello
68580ac25b
Normalize CNAME/ALIAS/PTR value to lower-case
2019-04-17 23:43:01 +08:00
Peter Dave Hello
e0a8a619d6
Normalize MX exchange to lower-case, fix #322
2019-04-04 22:45:34 +08:00
Ross McFarland
d4c4c479c4
Ensure that dynamic and geo can't coexist
2018-12-19 10:56:53 -08:00
Ross McFarland
ad04cefd88
More robust __eq__ on _Dynamic objects
2018-12-19 10:56:03 -08:00
Ross McFarland
60911917b4
Implement Dync populate dynamic, flesh out testing for all but dyn
2018-12-14 11:33:50 -08:00
Ross McFarland
388e9a67e0
Hook up new GeoCodes validation to _DynamicMixin
2018-12-10 13:04:25 -08:00
Ross McFarland
a767a5cb25
Implement pool-level fallbacks and validations
2018-12-07 14:29:05 -08:00
Ross McFarland
ccd9038a38
Impliment Dynamic rule geo validation
2018-12-05 16:42:38 -08:00
Ross McFarland
e16648ab1f
Progress towards fully fleshed out pools & rules
2018-12-05 16:28:41 -08:00
Ross McFarland
b80348c2c7
Add __eq__, __ne__, and __repr__ to Dynamic objects and test
2018-12-03 16:46:18 -08:00
Ross McFarland
446f66f562
Implement _DynamicMixin's value objects, unit test them
2018-12-03 15:51:30 -08:00
Ross McFarland
70c35aac26
WIP implementation of dyanmic pools & rules validation
2018-12-03 14:28:30 -08:00
Ross McFarland
c9b373f0ae
Further clean up/division of labor and tests
2018-11-30 08:32:55 -08:00
Ross McFarland
2829862ea5
Major refactoring of record validation to better support (planned) complex/dynamic record types
2018-11-29 15:15:12 -08:00
Ross McFarland
3ea78af8e1
pycodestyle updates, mostly escaping \, couple r's, ignore break on binary
2018-04-15 09:58:36 -07:00
Ross McFarland
e6d8669611
Implement healthcheck protocol and port for Dyn
2018-03-31 14:31:15 -07:00
Ross McFarland
849a97f161
Add healthcheck protocol validation, HTTP or HTTPS
2018-03-31 13:35:48 -07:00
Ross McFarland
9752cb0a12
Add protocol and port to octodns.healthcheck configurables
2018-03-31 13:10:06 -07:00
Dirkjan Bussink
a7f6da96d3
Merge branch 'master' into configurable-geo-healthcheck
2018-03-22 08:51:51 +01:00
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
2018-02-27 09:09:47 -08:00
Ross McFarland
093398ff94
Support for SSHFP ECDSA (3) and SHA-256 (2)
...
RFC 6594 & RFC 7479
2018-02-11 17:01:38 -08:00
Ross McFarland
af435c3130
Handle MX preference of 0
2018-01-21 06:31:37 -08:00
Adam Smith
bf1896329b
validate values for empty string or None value
...
dump does not write invalid value(s) to yaml
2017-10-29 10:37:18 -07:00
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.
2017-10-26 06:30:38 -05:00
Ross McFarland
9a30b058e2
Merge remote-tracking branch 'origin/master' into configurable-geo-healthcheck
2017-10-18 10:57:32 -07:00
Ross McFarland
30efda3295
Make long TXT record concat cleaerer
2017-10-09 09:00:15 -07:00
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.
2017-10-05 10:04:29 -07:00
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.
2017-08-28 13:40:25 -07:00
Ross McFarland
1e68cd6ae9
Add CAA support to Dyn, PowerDNS, and Route53
2017-08-26 09:03:59 -07:00
Ross McFarland
4cae1e2bdb
Add CAA Record class and tests
2017-08-26 08:18:17 -07:00
Ross McFarland
4e3cc6b46a
SSHFP RFC4255 - validate algorithm & fingerprint_type
...
- unrecognized wording for invalid values
2017-06-23 13:35:04 -07:00
Ross McFarland
3ce0d71e62
NAPTR RFC2915 - validate flags (partial)
...
- punting on service, regex & replacement validation for now
- clean up MX a smidge
2017-06-23 13:28:22 -07:00
Ross McFarland
6fc82fd279
Validate that MX preference parses as int
2017-06-23 13:17:32 -07:00
Ross McFarland
1340aee8a9
MX RFC1035 - priority -> preference & value -> exchange
2017-06-23 13:04:38 -07:00
Ross McFarland
d2af8efe5c
Root CNAMEs are not allowed
2017-06-23 09:49:11 -07:00
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
2017-06-23 09:01:25 -07:00
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.
2017-06-23 07:14:01 -07:00
Ross McFarland
670d7eef17
Record.healtcheck_(host|path)
2017-06-15 09:04:35 -07:00
Ross McFarland
756f017854
Go back to simple/standard ALIAS value
2017-06-03 08:47:01 -07:00
Ross McFarland
9dbfe7c839
AliasValue, name & type, improved Record KeyError handling
2017-05-28 17:05:23 -07:00
Ross McFarland
9e172ed303
Add AliasRecord & tests
2017-05-28 07:21:53 -07:00
Ross McFarland
7957a4c018
Initial import of OSS OctoDNS
2017-03-15 15:38:10 -07:00