31 Commits

Author SHA1 Message Date
a62ba66e05 Handle duplicate DNS records with upsert semantics
When Vultr's API returns "Duplicate records are not allowed" on
DomainRecord.Create, find the existing record by name+type and update
it instead of failing. This prevents ACME certificate issuance from
breaking when stale _acme-challenge TXT records survive a Caddy
restart.

Also fix record lookup in removeDNSRecord and updateDNSRecord to
match by name+type+data instead of name-only or data-only, avoiding
deletion of the wrong record when multiple records share the same
name (common with _acme-challenge across LE and ZeroSSL issuers).
2026-03-08 16:14:38 -06:00
Alexandre Almeida
eec1c11265 Remove fmt.Println from provider method v2.0.4 2025-07-23 14:14:03 +02:00
Alexandre Almeida
a45084a707 Query API for record ID if wrapped struct doesn't have it v2.0.3 2025-07-23 13:18:27 +02:00
Alexandre Almeida
44cf557ad2 Simplify if block in fromAPIRecord v2.0.2 v2.0.1 2025-06-07 15:31:25 +02:00
Alexandre Almeida
08474842cc Fix parsing of MX and SRV records to use Vultr's priority field 2025-06-07 15:27:01 +02:00
Alexandre Almeida
62cb30921f Rewrite logic for libdns v1.0.0, do not use ProviderData field 2025-06-07 14:55:54 +02:00
Alexandre Almeida
b3121a879b Update module version to v2 because go is stupid v2.0.0 2025-06-01 15:33:30 +02:00
Alexandre Almeida
75a18cd47f Update to libdns v1.1.0 v2.0.0-rc1 2025-06-01 15:14:24 +02:00
Alexandre Oliveira
b7b0ab2cab Update Go version to 1.20 v1.0.0 2023-03-31 16:23:54 +02:00
Alexandre Oliveira
7e0b8b3d6a Use empty TODO context instead of nil 2023-03-31 14:18:24 +00:00
Alexandre Oliveira
e079f301dd Implement libdns ZoneLister interface for provider 2023-03-31 14:18:24 +00:00
Alexandre Oliveira
44dad6df97 Update govultr to v3.0.2 2023-03-31 14:18:24 +00:00
Alexandre Oliveira
5ea9da3d96 Update govultr/v2 to v2.17.2 2022-09-06 20:26:19 +02:00
Alexandre Oliveira
c31c692dac Map APIToken to api_token in JSON config
See https://github.com/caddy-dns/vultr/issues/7
2022-09-06 20:26:19 +02:00
Alexandre Oliveira
cd4cb5c12e Update example file 2021-11-22 19:46:36 +01:00
Alexandre Oliveira
15a59929e9 Update dependencies 2021-11-22 19:37:02 +01:00
Alexandre Oliveira
1d5ee21ea6 Cleanup unused dependencies 2020-11-28 19:04:04 +01:00
Alexandre Oliveira
1448b1a6dd Change the ID of the record added to the ID returned by the API 2020-11-28 13:12:48 +01:00
Alexandre Oliveira
a8fa24426b Add pagination for listing all DNS records 2020-11-28 13:12:01 +01:00
Alexandre Oliveira
1c618cb082 Remove govultr v1.1.1 2020-11-25 16:32:09 +01:00
Alexandre Oliveira
ab5efe3967 Update client to reflect Vultr's library changes 2020-11-25 16:30:13 +01:00
Alexandre Oliveira
7bd763d8af Update govultr to 2.0.0 (Vultr API v2) 2020-11-25 16:01:06 +01:00
Alexandre Oliveira
6e06fbd42e Get list of DNS records before deleting to retrieve ID of recently added record 2020-11-24 21:00:18 +01:00
Alexandre Oliveira
53a04d6a94 Wrap record value in quotes 2020-11-24 20:15:29 +01:00
Alexandre Oliveira
77ddd0389e Stop custom Client struct from being exported in Provider 2020-11-24 00:38:07 +01:00
Alexandre Oliveira
120fee4266 Update module path 2020-11-24 00:37:24 +01:00
Alexandre Oliveira
80eef10995 Add license and readme 2020-11-02 19:07:54 +01:00
Alexandre Oliveira
2f3ad26267 Add working example 2020-11-02 19:01:00 +01:00
Alexandre Oliveira
153aa3628d Add note giving credits to libdns DigitalOcean provider 2020-11-02 18:59:34 +01:00
Alexandre Oliveira
8a738c041b Fix record not being found when updating it 2020-11-02 18:58:43 +01:00
Alexandre Oliveira
ab4c4a2c9e Initial commit 2020-11-02 18:44:07 +01:00