NS1 api returns a different message these days, which breaks error handling.
Until a fix is merged upstream, work around the issue by attempting to match the
stray error ourselves.
relates to #1667.
* Fix broken test
* Revert to the slow+safe CSC algorithm
* Instead of waiting for COMPLETED, wait for PROPAGATING to begin.
* improve error messages
* cleanup
* Fix broken test
* CLOUDFLARE: Fix missing nameserver bug
* CSCGLOBAL: Catch more status states
* wip!
* remove extra print
* Revert to the slow+safe CSC algorithm
* preview/push: ensure zones exists before querying them
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* HETZNER: reset zone cache when creating a new zone
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* ROUTE53: reset zone cache when creating a new zone
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
Updating github.com/akamai/AkamaiOPEN-edgegrid-golang to version 1.2.1...
Updating github.com/aws/aws-sdk-go-v2 to version 1.16.7...
Updating github.com/aws/aws-sdk-go-v2/config to version 1.15.14...
Updating github.com/aws/aws-sdk-go-v2/credentials to version 1.12.9...
Updating github.com/aws/aws-sdk-go-v2/service/route53 to version 1.21.3...
Updating github.com/aws/aws-sdk-go-v2/service/route53domains to version 1.12.8...
Updating github.com/cloudflare/cloudflare-go to version 0.45.0...
Updating github.com/mittwald/go-powerdns to version 0.6.0...
Updating github.com/tdewolff/minify/v2 to version 2.12.0...
Updating github.com/urfave/cli/v2 to version 2.11.1...
Updating golang.org/x/exp to version 0.0.0-20220722155223-a9213eeb770e...
Updating golang.org/x/net to version 0.0.0-20220728211354-c7608f3a8462...
Updating golang.org/x/oauth2 to version 0.0.0-20220722155238-128564f6959c...
Updating google.golang.org/api to version 0.90.0...
* Added basic structure for domain name shop
* Finished proof of concept for domainnameshop
* Fixed handeling of IDNA for CNAME records
* Updated documentation notes
* Added docs
* Ran linter and vet
* Removed proxy config used for debugging
* Ran go generate
* Fixed issue with TTLs being restricted to a multiple of 60
* Ran tests, vet and linting and fixed flaws
* Fixed typo in docs
* Improved code based on feedback
* Fixed issues with TXT records not working properly
* Refactored according to new file layout proposed
* Updated documentation matrix
* Suggestions and corrections
* Corrected according to suggestions
Co-authored-by: Simen Bai <git@simenbai.no>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
* Fix typo and add sandbox information
* Use SetTargetTXT in GetZoneRecords
This fixes the behavior documented in #1622
Also apply cleanup to GetZoneRecords
* Remove SetTargetTXT, does not work in all tests
* Set The most correct TXT handling
* Well, There's your problem
* Add an audit and test for unpaired quotes
* Add some commentary
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
* DNSIMPLE: do not support unpaired double quotes in TXT
DNSimple supports multiple double-quotes strings in a TXT record, but does not correctly support unpaired or escaped double-quotes currently.
IE the following are valid
```
asdf
"asdf"
"asdf" "asdf"
!@#$ %^&*()([][{}{<></'`:;-_=+\
```
however `as\"df` and `as"df` are not
This removes the extra string processing in getTargetRecordPriority as all tests pass without it and currently only double-quotes cause problems in our TXT validations.
I added another test to prove additional quoting is not needed. We can remove it if undesired.
Also applied small lint changes to make my editor happy.
* Use backticks to prevent escaping
* Set TXT target record content to GetTargetRFC1035Quoted()
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
DNSimple does not support spaces in the records at this time. I have opened an internal ticket on the issue.
Fixes test breakage caused in #1377
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
Anthony delegates all tasks relating to our DNSControl DNSimple integration to me. It would be more efficient to set me as the code owner.
I am an employee of DNSimple and use DNSControl's DNSimple integration in my other projects as well.
CC @aeden in case he needs to sign off.
Fallback to using Application Default Credentials if no
private_key is available in the creds.json-file.
This allows usage with various short lived credentials, for example
GCE-instances, gcloud auth application-default login, OIDC Workload
Identity etc
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>