From 1106ad382f0d23a717dd5ab890a8c68fbc49d7cf Mon Sep 17 00:00:00 2001 From: Ludovic Fernandez Date: Fri, 16 Feb 2024 21:24:58 +0100 Subject: [PATCH] ns1: fix record creation (#2115) --- .github/workflows/pr.yml | 4 ++-- providers/dns/ns1/ns1.go | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 84a9012a..e3db0c30 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -13,8 +13,8 @@ jobs: runs-on: ubuntu-latest env: GO_VERSION: stable - GOLANGCI_LINT_VERSION: ${{vars.GOLANGCI_LINT_VERSION}} - HUGO_VERSION: ${{vars.HUGO_VERSION}} + GOLANGCI_LINT_VERSION: v1.56.1 + HUGO_VERSION: 0.117.0 CGO_ENABLED: 0 LEGO_E2E_TESTS: CI MEMCACHED_HOSTS: localhost:11211 diff --git a/providers/dns/ns1/ns1.go b/providers/dns/ns1/ns1.go index 1ec02353..ffa4b1b7 100644 --- a/providers/dns/ns1/ns1.go +++ b/providers/dns/ns1/ns1.go @@ -97,7 +97,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { if errors.Is(err, rest.ErrRecordMissing) || record == nil { log.Infof("Create a new record for [zone: %s, fqdn: %s, domain: %s]", zone.Zone, info.EffectiveFQDN, domain) - record = dns.NewRecord(zone.Zone, dns01.UnFqdn(info.EffectiveFQDN), "TXT", nil, nil) + // Work through a bug in the NS1 API library that causes 400 Input validation failed (Value None for field '.filters' is not of type ...) + // So the `tags` and `blockedTags` parameters should be initialized to empty. + record = dns.NewRecord(zone.Zone, dns01.UnFqdn(info.EffectiveFQDN), "TXT", make(map[string]string), make([]string, 0)) record.TTL = d.config.TTL record.Answers = []*dns.Answer{{Rdata: []string{info.Value}}}