From d5ab8865ae6e86d0d492a72268fdfa485e57ff1d Mon Sep 17 00:00:00 2001 From: Christopher Hicks Date: Sun, 30 Nov 2025 18:57:22 -0800 Subject: [PATCH 1/9] [docs] Refresh digital ocean provider docs --- documentation/provider/digitalocean.md | 30 +++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/documentation/provider/digitalocean.md b/documentation/provider/digitalocean.md index 6be4bc7058..c068c08c3d 100644 --- a/documentation/provider/digitalocean.md +++ b/documentation/provider/digitalocean.md @@ -16,10 +16,14 @@ Example: ``` {% endcode %} +The [creds.json](/commands/creds.json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. + ## Metadata + This provider does not recognize any special metadata fields unique to DigitalOcean. ## Usage + An example configuration: {% code title="dnsconfig.js" %} @@ -34,10 +38,34 @@ D("example.com", REG_NONE, DnsProvider(DSP_DIGITALOCEAN), {% endcode %} ## Activation -[Create Personal Access Token](https://cloud.digitalocean.com/account/api/tokens) + +- [Create Personal Access Token](https://cloud.digitalocean.com/account/api/tokens) +- [How to Create a Personal Access Token (documentation)](https://docs.digitalocean.com/reference/api/create-personal-access-token/) Your access token must have access to create, read, update and delete domain records. +## Supported record types + +The [API reference](https://docs.digitalocean.com/reference/api/digitalocean/#tag/Domain-Records) states that these record types are supported: + +| Name | Description | +| ----- | ----------- | +| A | This record type is used to map an IPv4 address to a hostname. | +| AAAA | This record type is used to map an IPv6 address to a hostname. | +| CAA | As specified in RFC-6844, this record type can be used to restrict which certificate authorities are permitted to issue certificates for a domain. | +| CNAME | This record type defines an alias for your canonical hostname (the one defined by an A or AAAA record). | +| MX | This record type is used to define the mail exchanges used for the domain. | +| NS | This record type defines the name servers that are used for this zone. | +| TXT | This record type is used to associate a string of text with a hostname, primarily used for verification. | +| SRV | This record type specifies the location (hostname and port number) of servers for specific services. | +| SOA | This record type defines administrative information about the zone. Can only have ttl changed, cannot be deleted | + +## Unsupported record types + +This means that `ALIAS`, `DHCID`, `DNAME`, `DS`, `FRAME`, `HTTPS`, `LOC`, `OPENPGPKEY`, `PTR`, `SMIMEA`, `SSHFP`, `SVCB`, `TLSA`, `URL`, or `URL301` presumably **do not work** with Digital Ocean. + +In 2025, the provider maintainer hase confirmed that `ALIAS` and `LOC` records are rejected. The other ones that do not work are expected in this circumstance. `SPF` records are not a problem since they are turned into `TXT` record types. + ## Limitations - Digitalocean DNS doesn't support `;` value with CAA-records ([DigitalOcean documentation](https://www.digitalocean.com/docs/networking/dns/how-to/create-caa-records/)) From 307ce5cdcc7fdd82a67feffb8936fe0f8439cfa4 Mon Sep 17 00:00:00 2001 From: Christopher Hicks Date: Sun, 30 Nov 2025 19:10:31 -0800 Subject: [PATCH 2/9] spelling correction --- documentation/provider/digitalocean.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/provider/digitalocean.md b/documentation/provider/digitalocean.md index c068c08c3d..029c9226f8 100644 --- a/documentation/provider/digitalocean.md +++ b/documentation/provider/digitalocean.md @@ -64,7 +64,7 @@ The [API reference](https://docs.digitalocean.com/reference/api/digitalocean/#ta This means that `ALIAS`, `DHCID`, `DNAME`, `DS`, `FRAME`, `HTTPS`, `LOC`, `OPENPGPKEY`, `PTR`, `SMIMEA`, `SSHFP`, `SVCB`, `TLSA`, `URL`, or `URL301` presumably **do not work** with Digital Ocean. -In 2025, the provider maintainer hase confirmed that `ALIAS` and `LOC` records are rejected. The other ones that do not work are expected in this circumstance. `SPF` records are not a problem since they are turned into `TXT` record types. +In 2025, the provider maintainer has confirmed that `ALIAS` and `LOC` records are rejected. The other ones that do not work are expected in this circumstance. `SPF` records are not a problem since they are turned into `TXT` record types. ## Limitations From 9315df59d850e768eb1158a9a04f2e7f94f775f4 Mon Sep 17 00:00:00 2001 From: Christopher Hicks Date: Sun, 30 Nov 2025 19:14:41 -0800 Subject: [PATCH 3/9] update docs for chicks-net as maintainer for digital ocean --- documentation/provider/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/provider/index.md b/documentation/provider/index.md index 1a56c28ad3..192375feaa 100644 --- a/documentation/provider/index.md +++ b/documentation/provider/index.md @@ -394,7 +394,7 @@ Providers in this category and their maintainers are: |[`CNR`](cnr.md)|@KaiSchwarz-cnic| |[`CSCGLOBAL`](cscglobal.md)|@Air-New-Zealand| |[`DESEC`](desec.md)|@D3luxee| -|[`DIGITALOCEAN`](digitalocean.md)|@Deraen| +|[`DIGITALOCEAN`](digitalocean.md)|@chicks-net| |[`DNSIMPLE`](dnsimple.md)|@onlyhavecans| |[`DNSMADEEASY`](dnsmadeeasy.md)|@vojtad| |[`DNSOVERHTTPS`](dnsoverhttps.md)|@mikenz| From aa2bb6bd7f0f313ee37100c65d10b68cecc46d98 Mon Sep 17 00:00:00 2001 From: Christopher Hicks Date: Sat, 6 Dec 2025 15:57:37 -0800 Subject: [PATCH 4/9] relative URL for creds.json --- documentation/provider/digitalocean.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/provider/digitalocean.md b/documentation/provider/digitalocean.md index 029c9226f8..0c58fe2c40 100644 --- a/documentation/provider/digitalocean.md +++ b/documentation/provider/digitalocean.md @@ -16,7 +16,7 @@ Example: ``` {% endcode %} -The [creds.json](/commands/creds.json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. +The [creds.json](../commands/creds.json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. ## Metadata From 3d7219fd78167cdb96521d59c8bbeefbf20b100b Mon Sep 17 00:00:00 2001 From: Christopher Hicks Date: Sat, 6 Dec 2025 15:59:03 -0800 Subject: [PATCH 5/9] try two levels up --- documentation/provider/digitalocean.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/provider/digitalocean.md b/documentation/provider/digitalocean.md index 0c58fe2c40..2a6109a419 100644 --- a/documentation/provider/digitalocean.md +++ b/documentation/provider/digitalocean.md @@ -16,7 +16,7 @@ Example: ``` {% endcode %} -The [creds.json](../commands/creds.json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. +The [creds.json](../../commands/creds.json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. ## Metadata From 1ef96970bdcdab5ced5e7c8758497282d4adba07 Mon Sep 17 00:00:00 2001 From: Christopher Hicks Date: Sat, 6 Dec 2025 16:00:23 -0800 Subject: [PATCH 6/9] try three levels up --- documentation/provider/digitalocean.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/provider/digitalocean.md b/documentation/provider/digitalocean.md index 2a6109a419..95cf1a72ba 100644 --- a/documentation/provider/digitalocean.md +++ b/documentation/provider/digitalocean.md @@ -16,7 +16,7 @@ Example: ``` {% endcode %} -The [creds.json](../../commands/creds.json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. +The [creds.json](../../../commands/creds.json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. ## Metadata From b142af2ea4c5d2e90eb2b75978a39ad68faf567e Mon Sep 17 00:00:00 2001 From: Christopher Hicks Date: Sat, 6 Dec 2025 16:02:54 -0800 Subject: [PATCH 7/9] one level and a dash could do it --- documentation/provider/digitalocean.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/provider/digitalocean.md b/documentation/provider/digitalocean.md index 95cf1a72ba..cb4adf7b06 100644 --- a/documentation/provider/digitalocean.md +++ b/documentation/provider/digitalocean.md @@ -16,7 +16,7 @@ Example: ``` {% endcode %} -The [creds.json](../../../commands/creds.json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. +The [creds.json](../commands/creds-json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. ## Metadata From 6fee1fa516b280077ad021687dfe75c0e2c60e0d Mon Sep 17 00:00:00 2001 From: Christopher Hicks Date: Sat, 6 Dec 2025 16:07:27 -0800 Subject: [PATCH 8/9] trying two levels and the dash --- documentation/provider/digitalocean.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/provider/digitalocean.md b/documentation/provider/digitalocean.md index cb4adf7b06..616d758d4d 100644 --- a/documentation/provider/digitalocean.md +++ b/documentation/provider/digitalocean.md @@ -16,7 +16,7 @@ Example: ``` {% endcode %} -The [creds.json](../commands/creds-json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. +The [creds.json](../../commands/creds-json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. ## Metadata From 59688ba6e24b18438460a7f07240d29e823d19b8 Mon Sep 17 00:00:00 2001 From: Christopher Hicks Date: Sat, 6 Dec 2025 16:30:15 -0800 Subject: [PATCH 9/9] one level and include extension --- documentation/provider/digitalocean.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/provider/digitalocean.md b/documentation/provider/digitalocean.md index 616d758d4d..3b13adf382 100644 --- a/documentation/provider/digitalocean.md +++ b/documentation/provider/digitalocean.md @@ -16,7 +16,7 @@ Example: ``` {% endcode %} -The [creds.json](../../commands/creds-json#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. +The [creds.json](../commands/creds-json.md#example-commands) page in the docs explains how you can generate this dynamically so you can pull the secret token from 1Password or the vault of your choosing. ## Metadata