Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 901a3ac
Author: Tom Limoncelli <[email protected]>
Date:   Tue Jan 21 14:43:33 2025 -0500

    CHORE: Update dependencies (#3397)

commit 70e9659
Author: Tom Limoncelli <[email protected]>
Date:   Tue Jan 21 14:29:53 2025 -0500

    MSDNS: Provider is failing due to lint fix gone wrong (#3396)

commit 5e15bbe
Author: Jakob Ackermann <[email protected]>
Date:   Sat Jan 18 13:54:37 2025 +0000

    BUG: fetch zones once in ZoneCache (#3394)

commit a631c5b
Author: Kai Schwarz <[email protected]>
Date:   Fri Jan 17 20:15:10 2025 +0100

    CNR: Initial Performance improvement; golint review (#3391)

commit e1c9785
Author: Tom Limoncelli <[email protected]>
Date:   Fri Jan 17 07:11:10 2025 -0500

    CHORE: Update dependencies (#3385)

commit 9e88b6a
Author: Tom Limoncelli <[email protected]>
Date:   Thu Jan 16 21:47:10 2025 -0500

    CICD: Make pager tests more visible (#3387)

commit 67db0e2
Author: Tom Limoncelli <[email protected]>
Date:   Thu Jan 16 14:41:18 2025 -0500

    GCLOUD: remove (irrelevant) slow test (#3384)

commit c348e35
Author: Tom Limoncelli <[email protected]>
Date:   Thu Jan 16 14:32:32 2025 -0500

    GCLOUD: CICD: Skip the pager1201 integration test (#3383)

commit 5cfb907
Author: Tom Limoncelli <[email protected]>
Date:   Thu Jan 16 14:17:47 2025 -0500

    TRANSIP: Pause when rate-limited (#3378)

commit f666af8
Author: Tom Limoncelli <[email protected]>
Date:   Thu Jan 16 13:56:46 2025 -0500

    GCLOUD: Re-try on 502 errors (#3376)

commit 1a1a4bf
Author: Tom Limoncelli <[email protected]>
Date:   Thu Jan 16 12:54:48 2025 -0500

    INWX: Enable SRV to have "." target (#3380)

commit 3556439
Author: Tom Limoncelli <[email protected]>
Date:   Thu Jan 16 10:58:11 2025 -0500

    CLOUDFLAREAPI: No longer treat TTL=300 as special (#3368)

    Co-authored-by: Sukka <[email protected]>

commit 89c65b6
Author: Tom Limoncelli <[email protected]>
Date:   Thu Jan 16 10:03:00 2025 -0500

    INWX: Permit "." target for SRV records (#3377)

commit fc2c506
Author: Tom Limoncelli <[email protected]>
Date:   Wed Jan 15 18:28:15 2025 -0500

    CICD: Warn user if -provider does not match profiles.json:TYPE (#3375)

commit 0d5b3c2
Author: Jakob Ackermann <[email protected]>
Date:   Wed Jan 15 22:43:24 2025 +0000

    CLOUDFLARE: adopt ZoneCache (#3373)

commit 2ef2362
Author: Jakob Ackermann <[email protected]>
Date:   Wed Jan 15 20:23:02 2025 +0000

    HETZNER: adopt ZoneCache (#3372)

commit ab00797
Author: Tom Hughes <[email protected]>
Date:   Wed Jan 15 02:07:19 2025 +0000

    FEATURE: Extend PTR magic handling to support RFC4183 names (#3364)

commit 5c9b170
Author: Jakob Ackermann <[email protected]>
Date:   Wed Jan 15 02:05:17 2025 +0000

    FEAT: Add ZoneCache primitive (#3365)
  • Loading branch information
tlimoncelli committed Jan 21, 2025
1 parent eb0df5e commit e75c1ac
Show file tree
Hide file tree
Showing 25 changed files with 633 additions and 411 deletions.
7 changes: 3 additions & 4 deletions documentation/provider/cloudflareapi.md
Original file line number Diff line number Diff line change
Expand Up @@ -404,16 +404,15 @@ When `-cfworkers=false` is set, tests related to Workers are skipped. The Accou

Cloudflare plays tricks with TTLs. Cloudflare uses "1" to mean "auto-ttl";
which as far as we can tell means 300 seconds (5 minutes) with the option that
CloudFlare may dynamically adjust the actual TTL. In the Cloudflare API,
setting the TTL to 300 results in the TTL being set to 1.
CloudFlare may dynamically adjust the actual TTL.

If the TTL isn't set to 1, Cloudflare has a minimum of 1 minutes.

A TTL of 0 tells DNSControl to use the default TTL for that provider, which is 1.

In summary:
* TTL of 0, 1 and 300 are all the same ("auto TTL").
* TTL of 0 and 1 are the same ("auto TTL").
* TTL of 2-60 are all the same as 60.
* TTL of 61-299, and 301 to infinity are not magic.
* TTL of 61 to infinity is not magic.

Some of this is documented on the Cloudflare website's [Time to Live (TTL)](https://developers.cloudflare.com/dns/manage-dns-records/reference/ttl/) page.
18 changes: 13 additions & 5 deletions documentation/provider/cnr.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,11 @@ Example:
"apilogin": "your-cnr-account-id",
"apipassword": "your-cnr-account-password",
"apientity": "LIVE", // for the LIVE system; use "OTE" for the OT&E system
"debugmode": "0", // set it to "1" to get debug output of the communication with our Backend System API
// --- debugmode ---
// "0" -> turned off (default)
// "1" -> turned on, basic logging of the changes reflected as API command parameters for the CNR API
// "2" -> turned on, most verbose level - showing the detailed CNR API communication
"debugmode": "0"
}
}
```
Expand All @@ -46,23 +50,27 @@ Here a working example for our OT&E System:
{% endhint %}

With the above CentralNic Reseller entry in `creds.json`, you can run the
integration tests as follows:
integration tests or by specifying the data per environment vars as follows:

```shell
dnscontrol get-zones --format=nameonly cnr CNR all
```
```shell
# Review the output. Pick one domain and set CNR_DOMAIN.
export CNR_DOMAIN=yodream.com # Pick a domain name.
export CNR_ENTITY=OTE
export CNR_UID=test.user
export CNR_PW=test.passw0rd
export CNR_DEBUGMODE=2
cd integrationTest # NOTE: Not needed if already in that subdirectory
go test -v -verbose -profile CNR
```

## Usage

Fetch a list of all DNSZones:

```shell
dnscontrol get-zones --format=nameonly cnr CNR all
```

Here's an example DNS Configuration `dnsconfig.js` using our provider module.
Even though it shows how you use us as Domain Registrar AND DNS Provider, we don't force you to do that.
You are free to decide if you want to use both of our provider technology or just one of them.
Expand Down
72 changes: 36 additions & 36 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ go 1.23.0

retract v4.8.0

require google.golang.org/protobuf v1.35.2 // indirect
require google.golang.org/protobuf v1.36.2 // indirect

require golang.org/x/net v0.33.0
require golang.org/x/net v0.34.0

require (
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.8.1
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns v1.2.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns v1.3.0
github.com/Azure/go-autorest/autorest/to v0.4.0
Expand All @@ -18,16 +18,16 @@ require (
github.com/TomOnTime/utfutil v0.0.0-20230223141146-125e65197b36
github.com/akamai/AkamaiOPEN-edgegrid-golang v1.2.2
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883
github.com/aws/aws-sdk-go-v2 v1.32.7
github.com/aws/aws-sdk-go-v2/config v1.28.7
github.com/aws/aws-sdk-go-v2/credentials v1.17.48
github.com/aws/aws-sdk-go-v2/service/route53 v1.46.4
github.com/aws/aws-sdk-go-v2/service/route53domains v1.28.2
github.com/aws/aws-sdk-go-v2 v1.33.0
github.com/aws/aws-sdk-go-v2/config v1.29.1
github.com/aws/aws-sdk-go-v2/credentials v1.17.54
github.com/aws/aws-sdk-go-v2/service/route53 v1.48.2
github.com/aws/aws-sdk-go-v2/service/route53domains v1.28.5
github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6
github.com/billputer/go-namecheap v0.0.0-20210108011502-994a912fb7f9
github.com/centralnicgroup-opensource/rtldev-middleware-go-sdk/v4 v4.0.7
github.com/cloudflare/cloudflare-go v0.113.0
github.com/digitalocean/godo v1.132.0
github.com/cloudflare/cloudflare-go v0.114.0
github.com/digitalocean/godo v1.134.0
github.com/ditashi/jsbeautifier-go v0.0.0-20141206144643-2520a8026a9c
github.com/dnsimple/dnsimple-go v1.7.0
github.com/exoscale/egoscale v0.102.4
Expand All @@ -51,51 +51,51 @@ require (
github.com/transip/gotransip/v6 v6.26.0
github.com/urfave/cli/v2 v2.27.5
github.com/xddxdd/ottoext v0.0.0-20221109171055-210517fa4419
golang.org/x/crypto v0.31.0 // indirect
golang.org/x/crypto v0.32.0 // indirect
golang.org/x/oauth2 v0.25.0
google.golang.org/api v0.214.0
google.golang.org/api v0.217.0
gopkg.in/ns1/ns1-go.v2 v2.13.0
)

require (
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.16.0
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.17.0
github.com/G-Core/gcore-dns-sdk-go v0.2.9
github.com/centralnicgroup-opensource/rtldev-middleware-go-sdk/v5 v5.0.4
github.com/centralnicgroup-opensource/rtldev-middleware-go-sdk/v5 v5.0.6
github.com/containrrr/shoutrrr v0.8.0
github.com/fatih/color v1.18.0
github.com/fbiville/markdown-table-formatter v0.3.0
github.com/go-acme/lego/v4 v4.21.0
github.com/google/go-cmp v0.6.0
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.130
github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.132
github.com/juju/errors v1.0.0
github.com/kylelemons/godebug v1.1.0
github.com/mattn/go-isatty v0.0.20
github.com/oracle/oci-go-sdk/v65 v65.81.1
github.com/oracle/oci-go-sdk/v65 v65.81.3
github.com/vultr/govultr/v2 v2.17.2
golang.org/x/exp v0.0.0-20250103183323-7d7fa50e5329
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8
golang.org/x/text v0.21.0
golang.org/x/time v0.9.0
gopkg.in/yaml.v3 v3.0.1
)

require (
cloud.google.com/go/auth v0.13.0 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.6 // indirect
cloud.google.com/go/auth v0.14.0 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.7 // indirect
cloud.google.com/go/compute/metadata v0.6.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.3.2 // indirect
github.com/andybalholm/cascadia v1.3.3 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.24 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.28 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.28 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.9 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.24.11 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.10 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.33.9 // indirect
github.com/aws/smithy-go v1.22.1 // indirect
github.com/boombuler/barcode v1.0.1 // indirect
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
Expand All @@ -113,10 +113,10 @@ require (
github.com/gofrs/uuid v4.4.0+incompatible // indirect
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/s2a-go v0.1.8 // indirect
github.com/google/s2a-go v0.1.9 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
github.com/googleapis/gax-go/v2 v2.14.0 // indirect
github.com/googleapis/gax-go/v2 v2.14.1 // indirect
github.com/gopherjs/gopherjs v1.17.2 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
Expand Down Expand Up @@ -152,15 +152,15 @@ require (
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
go.mongodb.org/mongo-driver v1.12.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
go.opentelemetry.io/otel v1.29.0 // indirect
go.opentelemetry.io/otel/metric v1.29.0 // indirect
go.opentelemetry.io/otel/trace v1.29.0 // indirect
go.opentelemetry.io/otel v1.31.0 // indirect
go.opentelemetry.io/otel/metric v1.31.0 // indirect
go.opentelemetry.io/otel/trace v1.31.0 // indirect
golang.org/x/mod v0.22.0 // indirect
golang.org/x/sync v0.10.0 // indirect
golang.org/x/sys v0.28.0 // indirect
golang.org/x/tools v0.28.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect
google.golang.org/grpc v1.67.1 // indirect
golang.org/x/sys v0.29.0 // indirect
golang.org/x/tools v0.29.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250106144421-5f5ef82da422 // indirect
google.golang.org/grpc v1.69.4 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/sourcemap.v1 v1.0.5 // indirect
moul.io/http2curl v1.0.0 // indirect
Expand Down
Loading

0 comments on commit e75c1ac

Please sign in to comment.