feat: add support for context (challenges) (#2805)

This commit is contained in:
Ludovic Fernandez 2026-01-21 17:17:07 +01:00 committed by GitHub
commit 8013d0fba4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
410 changed files with 1034 additions and 1555 deletions

View file

@ -77,7 +77,7 @@ func (c *Challenge) PreSolve(ctx context.Context, authz acme.Authorization) erro
return err
}
err = c.provider.Present(authz.Identifier.Value, chlng.Token, keyAuth)
err = c.provider.Present(ctx, authz.Identifier.Value, chlng.Token, keyAuth)
if err != nil {
return fmt.Errorf("[%s] acme: error presenting token: %w", domain, err)
}
@ -134,7 +134,7 @@ func (c *Challenge) Solve(ctx context.Context, authz acme.Authorization) error {
}
// CleanUp cleans the challenge.
func (c *Challenge) CleanUp(authz acme.Authorization) error {
func (c *Challenge) CleanUp(ctx context.Context, authz acme.Authorization) error {
log.Info("acme: Cleaning DNS-01 challenge.", "domain", challenge.GetTargetedDomain(authz))
chlng, err := challenge.FindChallenge(challenge.DNS01, authz)
@ -147,7 +147,7 @@ func (c *Challenge) CleanUp(authz acme.Authorization) error {
return err
}
return c.provider.CleanUp(authz.Identifier.Value, chlng.Token, keyAuth)
return c.provider.CleanUp(ctx, authz.Identifier.Value, chlng.Token, keyAuth)
}
func (c *Challenge) Sequential() (bool, time.Duration) {

View file

@ -21,17 +21,17 @@ type providerMock struct {
present, cleanUp error
}
func (p *providerMock) Present(domain, token, keyAuth string) error { return p.present }
func (p *providerMock) CleanUp(domain, token, keyAuth string) error { return p.cleanUp }
func (p *providerMock) Present(_ context.Context, _, _, _ string) error { return p.present }
func (p *providerMock) CleanUp(_ context.Context, _, _, _ string) error { return p.cleanUp }
type providerTimeoutMock struct {
present, cleanUp error
timeout, interval time.Duration
}
func (p *providerTimeoutMock) Present(domain, token, keyAuth string) error { return p.present }
func (p *providerTimeoutMock) CleanUp(domain, token, keyAuth string) error { return p.cleanUp }
func (p *providerTimeoutMock) Timeout() (time.Duration, time.Duration) { return p.timeout, p.interval }
func (p *providerTimeoutMock) Present(_ context.Context, _, _, _ string) error { return p.present }
func (p *providerTimeoutMock) CleanUp(_ context.Context, _, _, _ string) error { return p.cleanUp }
func (p *providerTimeoutMock) Timeout() (time.Duration, time.Duration) { return p.timeout, p.interval }
func TestChallenge_PreSolve(t *testing.T) {
server := tester.MockACMEServer().BuildHTTPS(t)
@ -285,7 +285,7 @@ func TestChallenge_CleanUp(t *testing.T) {
},
}
err = chlg.CleanUp(authz)
err = chlg.CleanUp(t.Context(), authz)
if test.expectError {
require.Error(t, err)
} else {

View file

@ -67,13 +67,13 @@ func (c *Challenge) Solve(ctx context.Context, authz acme.Authorization) error {
return err
}
err = c.provider.Present(authz.Identifier.Value, chlng.Token, keyAuth)
err = c.provider.Present(ctx, authz.Identifier.Value, chlng.Token, keyAuth)
if err != nil {
return fmt.Errorf("[%s] acme: error presenting token: %w", domain, err)
}
defer func() {
err := c.provider.CleanUp(authz.Identifier.Value, chlng.Token, keyAuth)
err := c.provider.CleanUp(ctx, authz.Identifier.Value, chlng.Token, keyAuth)
if err != nil {
log.Warn("acme: cleaning up failed.", "domain", domain, "error", err)
}

View file

@ -1,6 +1,7 @@
package http01
import (
"context"
"fmt"
"io/fs"
"net"
@ -75,7 +76,7 @@ func NewUnixProviderServer(socketPath string, socketMode fs.FileMode) *ProviderS
}
// Present starts a web server and makes the token available at `ChallengePath(token)` for web requests.
func (s *ProviderServer) Present(domain, token, keyAuth string) error {
func (s *ProviderServer) Present(ctx context.Context, domain, token, keyAuth string) error {
var err error
s.listener, err = net.Listen(s.network, s.GetAddress())
@ -97,7 +98,7 @@ func (s *ProviderServer) Present(domain, token, keyAuth string) error {
}
// CleanUp closes the HTTP server and removes the token from `ChallengePath(token)`.
func (s *ProviderServer) CleanUp(domain, token, keyAuth string) error {
func (s *ProviderServer) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
if s.listener == nil {
return nil
}

View file

@ -1,14 +1,17 @@
package challenge
import "time"
import (
"context"
"time"
)
// Provider enables implementing a custom challenge
// provider. Present presents the solution to a challenge available to
// be solved. CleanUp will be called by the challenge if Present ends
// in a non-error state.
type Provider interface {
Present(domain, token, keyAuth string) error
CleanUp(domain, token, keyAuth string) error
Present(ctx context.Context, domain, token, keyAuth string) error
CleanUp(ctx context.Context, domain, token, keyAuth string) error
}
// ProviderTimeout allows for implementing a

View file

@ -23,7 +23,7 @@ type preSolver interface {
// Interface for challenges like dns, where we can solve all the challenges before to delete them.
type cleanup interface {
CleanUp(authorization acme.Authorization) error
CleanUp(ctx context.Context, authorization acme.Authorization) error
}
type sequential interface {
@ -108,7 +108,7 @@ func sequentialSolve(ctx context.Context, authSolvers []*selectedAuthSolver, fai
if err != nil {
failures[domain] = err
cleanUp(authSolver.solver, authSolver.authz)
cleanUp(ctx, authSolver.solver, authSolver.authz)
continue
}
@ -119,13 +119,13 @@ func sequentialSolve(ctx context.Context, authSolvers []*selectedAuthSolver, fai
if err != nil {
failures[domain] = err
cleanUp(authSolver.solver, authSolver.authz)
cleanUp(ctx, authSolver.solver, authSolver.authz)
continue
}
// Clean challenge
cleanUp(authSolver.solver, authSolver.authz)
cleanUp(ctx, authSolver.solver, authSolver.authz)
if len(authSolvers)-1 > i {
solvr := authSolver.solver.(sequential)
@ -151,7 +151,7 @@ func parallelSolve(ctx context.Context, authSolvers []*selectedAuthSolver, failu
defer func() {
// Clean all created TXT records
for _, authSolver := range authSolvers {
cleanUp(authSolver.solver, authSolver.authz)
cleanUp(ctx, authSolver.solver, authSolver.authz)
}
}()
@ -172,11 +172,11 @@ func parallelSolve(ctx context.Context, authSolvers []*selectedAuthSolver, failu
}
}
func cleanUp(solvr solver, authz acme.Authorization) {
func cleanUp(ctx context.Context, solvr solver, authz acme.Authorization) {
if solvr, ok := solvr.(cleanup); ok {
domain := challenge.GetTargetedDomain(authz)
err := solvr.CleanUp(authz)
err := solvr.CleanUp(ctx, authz)
if err != nil {
log.Warn("acme: cleaning up failed.", "domain", domain, "error", err)
}

View file

@ -73,13 +73,13 @@ func (c *Challenge) Solve(ctx context.Context, authz acme.Authorization) error {
return err
}
err = c.provider.Present(domain, chlng.Token, keyAuth)
err = c.provider.Present(ctx, domain, chlng.Token, keyAuth)
if err != nil {
return fmt.Errorf("[%s] acme: error presenting token: %w", challenge.GetTargetedDomain(authz), err)
}
defer func() {
err := c.provider.CleanUp(domain, chlng.Token, keyAuth)
err := c.provider.CleanUp(ctx, domain, chlng.Token, keyAuth)
if err != nil {
log.Warn("acme: cleaning up failed.", "domain", challenge.GetTargetedDomain(authz), err)
}

View file

@ -1,6 +1,7 @@
package tlsalpn01
import (
"context"
"crypto/tls"
"errors"
"fmt"
@ -66,7 +67,7 @@ func NewProviderServer(host, port string) *ProviderServer {
// Present generates a certificate with an SHA-256 digest of the keyAuth provided
// as the acmeValidation-v1 extension value to conform to the ACME-TLS-ALPN spec.
func (s *ProviderServer) Present(domain, token, keyAuth string) error {
func (s *ProviderServer) Present(ctx context.Context, domain, token, keyAuth string) error {
// Generate the challenge certificate using the provided keyAuth and domain.
cert, err := ChallengeCert(domain, keyAuth)
if err != nil {
@ -101,7 +102,7 @@ func (s *ProviderServer) Present(domain, token, keyAuth string) error {
}
// CleanUp closes the HTTPS server.
func (s *ProviderServer) CleanUp(domain, token, keyAuth string) error {
func (s *ProviderServer) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
if s.listener == nil {
return nil
}

View file

@ -164,9 +164,7 @@ func (e ErrCNAMERequired) Error() string {
// If there is not an account for the given domain present in the DNSProvider storage
// one will be created and registered with the ACME DNS server and an ErrCNAMERequired error is returned.
// This will halt issuance and indicate to the user that a one-time manual setup is required for the domain.
func (d *DNSProvider) Present(domain, _, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, _, keyAuth string) error {
// Compute the challenge response FQDN and TXT value for the domain based on the keyAuth.
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
@ -191,7 +189,7 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error {
// CleanUp removes the record matching the specified parameters. It is not
// implemented for the ACME-DNS provider.
func (d *DNSProvider) CleanUp(_, _, _ string) error {
func (d *DNSProvider) CleanUp(_ context.Context, _, _, _ string) error {
// ACME-DNS doesn't support the notion of removing a record.
// For users of ACME-DNS it is expected the stale records remain in-place.
return nil

View file

@ -70,7 +70,7 @@ func TestPresent(t *testing.T) {
p.storage = test.Storage
}
err := p.Present(egDomain, "foo", egKeyAuth)
err := p.Present(t.Context(), egDomain, "foo", egKeyAuth)
if test.ExpectedError != nil {
assert.Equal(t, test.ExpectedError, err)
} else {
@ -182,7 +182,7 @@ func TestPresent_httpStorage(t *testing.T) {
client := newMockClient().WithRegisterAccount(egTestAccount)
provider.client = client
err := provider.Present(egDomain, "foo", egKeyAuth)
err := provider.Present(t.Context(), egDomain, "foo", egKeyAuth)
if test.ExpectedError != nil {
assert.EqualError(t, err, test.ExpectedError.Error())
assert.True(t, client.registerAccountCalled)

View file

@ -153,7 +153,7 @@ func (m *mockStorage) WithPutError(err error) *mockStorage {
}
func (m *mockStorage) WithSaveError(err error) *mockStorage {
m.save = func(ctx context.Context) error {
m.save = func(_ context.Context) error {
return err
}

View file

@ -2,6 +2,7 @@
package active24
import (
"context"
"errors"
"fmt"
"net/http"
@ -77,8 +78,8 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
err := d.prv.Present(domain, token, keyAuth)
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
err := d.prv.Present(ctx, domain, token, keyAuth)
if err != nil {
return fmt.Errorf("active24: %w", err)
}
@ -87,8 +88,8 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
err := d.prv.CleanUp(domain, token, keyAuth)
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
err := d.prv.CleanUp(ctx, domain, token, keyAuth)
if err != nil {
return fmt.Errorf("active24: %w", err)
}

View file

@ -127,7 +127,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -141,6 +141,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -151,9 +151,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zoneName, err := d.getHostedZone(ctx, info.EffectiveFQDN)
@ -175,9 +173,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
records, err := d.findTxtRecords(ctx, info.EffectiveFQDN)

View file

@ -147,7 +147,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -163,6 +163,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(1 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -158,9 +158,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
siteID, err := d.getSiteID(ctx, info.EffectiveFQDN)
@ -189,9 +187,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
// gets the record's unique ID

View file

@ -146,6 +146,6 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -118,9 +118,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -160,8 +158,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
credential, err := d.identifier.Authentication(ctx, 60, true)

View file

@ -126,7 +126,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -140,6 +140,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -94,9 +94,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.findZone(ctx, info.EffectiveFQDN)
@ -127,9 +125,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.findZone(ctx, info.EffectiveFQDN)

View file

@ -115,7 +115,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -129,7 +129,7 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -164,7 +164,7 @@ func TestDNSProvider_Present(t *testing.T) {
servermock.CheckRequestJSONBodyFromInternal("record_add-request.json")).
Build(t)
err := provider.Present("example.com", "abc", "123d==")
err := provider.Present(t.Context(), "example.com", "abc", "123d==")
require.NoError(t, err)
}
@ -182,6 +182,6 @@ func TestDNSProvider_CleanUp(t *testing.T) {
servermock.Noop()).
Build(t)
err := provider.CleanUp("example.com", "abc", "123d==")
err := provider.CleanUp(t.Context(), "example.com", "abc", "123d==")
require.NoError(t, err)
}

View file

@ -122,9 +122,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -157,9 +155,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -107,7 +107,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -123,7 +123,7 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(2 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -151,7 +151,7 @@ func TestDNSProvider_Present(t *testing.T) {
servermock.CheckRequestJSONBodyFromInternal("create_record-request.json")).
Build(t)
err := provider.Present("example.com", "abc", "123d==")
err := provider.Present(t.Context(), "example.com", "abc", "123d==")
require.NoError(t, err)
}
@ -163,6 +163,6 @@ func TestDNSProvider_CleanUp(t *testing.T) {
servermock.Noop()).
Build(t)
err := provider.CleanUp("example.com", "abc", "123d==")
err := provider.CleanUp(t.Context(), "example.com", "abc", "123d==")
require.NoError(t, err)
}

View file

@ -112,9 +112,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -155,9 +153,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -109,7 +109,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -123,6 +123,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -110,8 +110,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -155,8 +154,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes a given record that was generated by Present.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
d.recordIDsMu.Lock()

View file

@ -160,7 +160,7 @@ func TestDNSProvider_Present(t *testing.T) {
WithStatusCode(http.StatusCreated)).
Build(t)
err := provider.Present("example.com", "", "foobar")
err := provider.Present(t.Context(), "example.com", "", "foobar")
require.NoError(t, err)
}
@ -185,9 +185,9 @@ func TestDNSProvider_CleanUp(t *testing.T) {
WithStatusCode(http.StatusCreated)).
Build(t)
err := provider.Present("example.com", "", "foobar")
err := provider.Present(t.Context(), "example.com", "", "foobar")
require.NoError(t, err)
err = provider.CleanUp("example.com", "", "foobar")
err = provider.CleanUp(t.Context(), "example.com", "", "foobar")
require.NoError(t, err)
}

View file

@ -118,8 +118,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
records := []*internal.ResourceRecord{{
@ -138,8 +137,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record previously created.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
records := []*internal.ResourceRecord{{

View file

@ -136,7 +136,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -150,6 +150,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -94,9 +94,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -124,9 +122,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -125,7 +125,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -139,6 +139,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -105,8 +105,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
ctxAuth := authContext(ctx, d.config.PersonalToken)
@ -161,8 +160,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
ctxAuth := authContext(ctx, d.config.PersonalToken)

View file

@ -1,7 +1,6 @@
package azion
import (
"context"
"net/http/httptest"
"testing"
@ -104,7 +103,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -118,7 +117,7 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -168,7 +167,7 @@ func TestDNSProvider_findZone(t *testing.T) {
for _, test := range testCases {
t.Run(test.desc, func(t *testing.T) {
zone, err := provider.findZone(context.Background(), test.fqdn)
zone, err := provider.findZone(t.Context(), test.fqdn)
require.NoError(t, err)
assert.Equal(t, test.expected, zone)
@ -203,7 +202,7 @@ func TestDNSProvider_findZone_error(t *testing.T) {
Route("GET /intelligent_dns", servermock.ResponseFromFixture(test.response)).
Build(t)
zone, err := provider.findZone(context.Background(), test.fqdn)
zone, err := provider.findZone(t.Context(), test.fqdn)
require.EqualError(t, err, test.expected)
assert.Nil(t, zone)

View file

@ -3,6 +3,7 @@
package azure
import (
"context"
"errors"
"fmt"
"io"
@ -197,13 +198,13 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
return d.provider.Present(domain, token, keyAuth)
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
return d.provider.Present(ctx, domain, token, keyAuth)
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return d.provider.CleanUp(domain, token, keyAuth)
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
return d.provider.CleanUp(ctx, domain, token, keyAuth)
}
func getAuthorizer(config *Config) (autorest.Authorizer, error) {

View file

@ -200,7 +200,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -216,6 +216,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(1 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -26,8 +26,7 @@ func (d *dnsProviderPrivate) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *dnsProviderPrivate) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *dnsProviderPrivate) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.getHostedZoneID(ctx, info.EffectiveFQDN)
@ -87,8 +86,7 @@ func (d *dnsProviderPrivate) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *dnsProviderPrivate) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *dnsProviderPrivate) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.getHostedZoneID(ctx, info.EffectiveFQDN)

View file

@ -26,8 +26,7 @@ func (d *dnsProviderPublic) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *dnsProviderPublic) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *dnsProviderPublic) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.getHostedZoneID(ctx, info.EffectiveFQDN)
@ -87,8 +86,7 @@ func (d *dnsProviderPublic) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *dnsProviderPublic) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *dnsProviderPublic) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.getHostedZoneID(ctx, info.EffectiveFQDN)

View file

@ -3,6 +3,7 @@
package azuredns
import (
"context"
"errors"
"fmt"
"net/http"
@ -202,11 +203,11 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
return d.provider.Present(domain, token, keyAuth)
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
return d.provider.Present(ctx, domain, token, keyAuth)
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return d.provider.CleanUp(domain, token, keyAuth)
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
return d.provider.CleanUp(ctx, domain, token, keyAuth)
}

View file

@ -66,7 +66,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -82,6 +82,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(1 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -50,15 +50,15 @@ func getOIDCAssertion(config *Config) func(ctx context.Context) (string, error)
}
if token == "" && config.OIDCRequestURL != "" && config.OIDCRequestToken != "" {
return getOIDCToken(config)
return getOIDCToken(ctx, config)
}
return token, nil
}
}
func getOIDCToken(config *Config) (string, error) {
req, err := http.NewRequest(http.MethodGet, config.OIDCRequestURL, http.NoBody)
func getOIDCToken(ctx context.Context, config *Config) (string, error) {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, config.OIDCRequestURL, http.NoBody)
if err != nil {
return "", fmt.Errorf("azuredns: failed to build OIDC request: %w", err)
}

View file

@ -47,8 +47,7 @@ func (d *DNSProviderPrivate) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProviderPrivate) Present(domain, _, keyAuth string) error {
ctx := context.Background()
func (d *DNSProviderPrivate) Present(ctx context.Context, domain, _, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.getHostedZone(ctx, info.EffectiveFQDN)
@ -100,8 +99,7 @@ func (d *DNSProviderPrivate) Present(domain, _, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProviderPrivate) CleanUp(domain, _, keyAuth string) error {
ctx := context.Background()
func (d *DNSProviderPrivate) CleanUp(ctx context.Context, domain, _, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.getHostedZone(ctx, info.EffectiveFQDN)

View file

@ -47,8 +47,7 @@ func (d *DNSProviderPublic) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProviderPublic) Present(domain, _, keyAuth string) error {
ctx := context.Background()
func (d *DNSProviderPublic) Present(ctx context.Context, domain, _, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.getHostedZone(ctx, info.EffectiveFQDN)
@ -99,8 +98,7 @@ func (d *DNSProviderPublic) Present(domain, _, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProviderPublic) CleanUp(domain, _, keyAuth string) error {
ctx := context.Background()
func (d *DNSProviderPublic) CleanUp(ctx context.Context, domain, _, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.getHostedZone(ctx, info.EffectiveFQDN)

View file

@ -89,11 +89,10 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(context.Background(), info.EffectiveFQDN)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
if err != nil {
return fmt.Errorf("baiducloud: could not find zone for domain %q: %w", domain, err)
}
@ -120,11 +119,10 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(context.Background(), info.EffectiveFQDN)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
if err != nil {
return fmt.Errorf("baiducloud: could not find zone for domain %q: %w", domain, err)
}

View file

@ -127,7 +127,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -141,6 +141,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -103,9 +103,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
records, err := d.client.GetTXTRecords(ctx, dns01.UnFqdn(info.EffectiveFQDN))
@ -130,9 +128,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
records, err := d.client.GetTXTRecords(ctx, dns01.UnFqdn(info.EffectiveFQDN))

View file

@ -137,7 +137,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
assert.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
assert.NoError(t, err)
}
@ -151,7 +151,7 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
assert.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
assert.NoError(t, err)
}
@ -194,7 +194,7 @@ func TestDNSProvider_Present(t *testing.T) {
).
Build(t)
err := provider.Present("example.com", "", "123d==")
err := provider.Present(t.Context(), "example.com", "", "123d==")
require.NoError(t, err)
}
@ -212,7 +212,7 @@ func TestDNSProvider_CleanUp(t *testing.T) {
).
Build(t)
err := provider.CleanUp("example.com", "", "123d==")
err := provider.CleanUp(t.Context(), "example.com", "", "123d==")
require.NoError(t, err)
}
@ -227,6 +227,6 @@ func TestDNSProvider_CleanUp_empty(t *testing.T) {
servermock.Noop().WithStatusCode(http.StatusInternalServerError)).
Build(t)
err := provider.CleanUp("example.com", "", "123d==")
err := provider.CleanUp(t.Context(), "example.com", "", "123d==")
require.NoError(t, err)
}

View file

@ -1,7 +1,6 @@
package internal
import (
"context"
"net/http/httptest"
"net/url"
"testing"
@ -38,7 +37,7 @@ func TestClient_GetTXTRecords(t *testing.T) {
).
Build(t)
data, err := client.GetTXTRecords(context.Background(), "example.com")
data, err := client.GetTXTRecords(t.Context(), "example.com")
require.NoError(t, err)
expected := []Record{{Data: "v=spf1 redirect=beget.com", TTL: 300}}
@ -57,7 +56,7 @@ func TestClient_ChangeTXTRecord(t *testing.T) {
records := []Record{{Value: "txtTXTtxt", TTL: 300, Priority: 10}}
err := client.ChangeTXTRecord(context.Background(), "sub.example.com", records)
err := client.ChangeTXTRecord(t.Context(), "sub.example.com", records)
require.NoError(t, err)
}
@ -69,7 +68,7 @@ func TestClient_ChangeTXTRecord_error(t *testing.T) {
records := []Record{{Data: "txtTXTtxt", TTL: 300}}
err := client.ChangeTXTRecord(context.Background(), "sub.example.com", records)
err := client.ChangeTXTRecord(t.Context(), "sub.example.com", records)
require.Error(t, err)
require.EqualError(t, err, "API error: NO_SUCH_METHOD: No such method")
@ -83,7 +82,7 @@ func TestClient_ChangeTXTRecord_answer_error(t *testing.T) {
records := []Record{{Data: "txtTXTtxt", TTL: 300}}
err := client.ChangeTXTRecord(context.Background(), "sub.example.com", records)
err := client.ChangeTXTRecord(t.Context(), "sub.example.com", records)
require.Error(t, err)
require.EqualError(t, err, "API answer error: INVALID_DATA: Login length cannot be greater than 12 characters")
@ -98,6 +97,6 @@ func TestClient_ChangeTXTRecord_remove(t *testing.T) {
).
Build(t)
err := client.ChangeTXTRecord(context.Background(), "sub.example.com", nil)
err := client.ChangeTXTRecord(t.Context(), "sub.example.com", nil)
require.NoError(t, err)
}

View file

@ -96,9 +96,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -131,9 +129,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -99,7 +99,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -113,6 +113,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -93,8 +93,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
// Present creates a TXT record using the specified parameters.
// This will *not* create a subzone to contain the TXT record,
// so make sure the FQDN specified is within an extant zone.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
if err := d.client.AddRecord(info.EffectiveFQDN, "TXT", info.Value); err != nil {
@ -105,8 +104,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
if err := d.client.RemoveRecord(info.EffectiveFQDN, "TXT"); err != nil {

View file

@ -155,7 +155,7 @@ func TestDNSProvider_Present(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
provider := test.mock.Build(t)
err := provider.Present(test.domain, test.token, test.keyAuth)
err := provider.Present(t.Context(), test.domain, test.token, test.keyAuth)
if test.expectError {
require.Error(t, err)
} else {
@ -200,7 +200,7 @@ func TestDNSProvider_CleanUp(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
provider := test.mock.Build(t)
err := provider.CleanUp(test.domain, test.token, test.keyAuth)
err := provider.CleanUp(t.Context(), test.domain, test.token, test.keyAuth)
if test.expectError {
require.ErrorContains(t, err, "bindman: ERROR (400): bar; ")
} else {
@ -220,7 +220,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -236,6 +236,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(1 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -119,8 +119,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
// Present creates a TXT record using the specified parameters
// This will *not* create a sub-zone to contain the TXT record,
// so make sure the FQDN specified is within an existent zone.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
ctxAuth, err := d.client.CreateAuthenticatedContext(ctx)
@ -169,8 +168,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
ctxAuth, err := d.client.CreateAuthenticatedContext(ctx)

View file

@ -224,7 +224,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -240,6 +240,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(time.Second * 1)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -97,8 +97,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
record := internal.Record{
@ -117,8 +116,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
record := internal.Record{

View file

@ -127,7 +127,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -141,6 +141,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -109,9 +109,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -156,9 +154,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -125,7 +125,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -139,6 +139,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -113,8 +113,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.findZone(ctx, dns01.UnFqdn(info.EffectiveFQDN))
@ -142,8 +141,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.findZone(ctx, dns01.UnFqdn(info.EffectiveFQDN))

View file

@ -112,7 +112,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -126,7 +126,7 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -102,9 +102,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
// TODO(ldez) replace domain by FQDN to follow CNAME.
domainID, err := d.client.GetDomainIDByName(ctx, domain)
if err != nil {
@ -132,9 +130,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record previously created.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
// TODO(ldez) replace domain by FQDN to follow CNAME.
domainID, err := d.client.GetDomainIDByName(ctx, domain)
if err != nil {

View file

@ -113,7 +113,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -127,6 +127,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -105,8 +105,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -140,8 +139,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -111,7 +111,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -127,7 +127,7 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(2 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -167,7 +167,7 @@ func TestDNSProvider_Present(t *testing.T) {
servermock.CheckRequestJSONBodyFromInternal("create_dns_record-request.json")).
Build(t)
err := provider.Present("example.com", "abd", "123d==")
err := provider.Present(t.Context(), "example.com", "abd", "123d==")
require.NoError(t, err)
}
@ -190,6 +190,6 @@ func TestDNSProvider_CleanUp(t *testing.T) {
With("region", "LON1")).
Build(t)
err := provider.CleanUp("example.com", "abd", "123d==")
err := provider.CleanUp(t.Context(), "example.com", "abd", "123d==")
require.NoError(t, err)
}

View file

@ -106,9 +106,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -130,9 +128,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -153,7 +153,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -169,6 +169,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(2 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -153,9 +153,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -188,9 +186,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -284,7 +284,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -300,7 +300,7 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(2 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -338,7 +338,7 @@ func TestDNSProvider_Present(t *testing.T) {
servermock.CheckRequestJSONBodyFromInternal("create_record-request.json")).
Build(t)
err := provider.Present("example.com", "abc", "123d==")
err := provider.Present(t.Context(), "example.com", "abc", "123d==")
require.NoError(t, err)
}
@ -361,6 +361,6 @@ func TestDNSProvider_CleanUp(t *testing.T) {
provider.recordIDs["abc"] = "xxx"
provider.recordIDsMu.Unlock()
err := provider.CleanUp("example.com", token, "123d==")
err := provider.CleanUp(t.Context(), "example.com", token, "123d==")
require.NoError(t, err)
}

View file

@ -1,7 +1,6 @@
package internal
import (
"context"
"net/http"
"net/http/httptest"
"testing"
@ -88,7 +87,7 @@ func TestClient_DeleteDNSRecord(t *testing.T) {
servermock.ResponseFromFixture("delete_record.json")).
Build(t)
err := client.DeleteDNSRecord(context.Background(), "023e105f4ecef8ad9ca31a8372d0c353", "xxx")
err := client.DeleteDNSRecord(t.Context(), "023e105f4ecef8ad9ca31a8372d0c353", "xxx")
require.NoError(t, err)
}
@ -99,7 +98,7 @@ func TestClient_DeleteDNSRecord_error(t *testing.T) {
WithStatusCode(http.StatusBadRequest)).
Build(t)
err := client.DeleteDNSRecord(context.Background(), "023e105f4ecef8ad9ca31a8372d0c353", "xxx")
err := client.DeleteDNSRecord(t.Context(), "023e105f4ecef8ad9ca31a8372d0c353", "xxx")
require.EqualError(t, err, "[status code 400] 6003: Invalid request headers; 6103: Invalid format for X-Auth-Key header")
}
@ -112,7 +111,7 @@ func TestClient_ZonesByName(t *testing.T) {
With("per_page", "50")).
Build(t)
zones, err := client.ZonesByName(context.Background(), "example.com")
zones, err := client.ZonesByName(t.Context(), "example.com")
require.NoError(t, err)
expected := []Zone{
@ -171,6 +170,6 @@ func TestClient_ZonesByName_error(t *testing.T) {
WithStatusCode(http.StatusBadRequest)).
Build(t)
_, err := client.ZonesByName(context.Background(), "example.com")
_, err := client.ZonesByName(t.Context(), "example.com")
require.EqualError(t, err, "[status code 400] 6003: Invalid request headers; 6103: Invalid format for X-Auth-Key header")
}

View file

@ -112,8 +112,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.client.GetZone(ctx, info.EffectiveFQDN)
@ -130,8 +129,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT records matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.client.GetZone(ctx, info.EffectiveFQDN)

View file

@ -174,7 +174,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -190,6 +190,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(2 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -111,9 +111,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -153,8 +151,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes a given record that was generated by Present.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
d.recordsMu.Lock()

View file

@ -158,7 +158,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -174,6 +174,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(2 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -2,6 +2,7 @@
package cloudxns
import (
"context"
"errors"
"net/http"
"time"
@ -51,12 +52,12 @@ func NewDNSProviderConfig(_ *Config) (*DNSProvider, error) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(_, _, _ string) error {
func (d *DNSProvider) Present(ctx context.Context, _, _, _ string) error {
return nil
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(_, _, _ string) error {
func (d *DNSProvider) CleanUp(ctx context.Context, _, _, _ string) error {
return nil
}

View file

@ -2,6 +2,7 @@
package com35
import (
"context"
"errors"
"fmt"
"net/http"
@ -78,8 +79,8 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
err := d.prv.Present(domain, token, keyAuth)
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
err := d.prv.Present(ctx, domain, token, keyAuth)
if err != nil {
return fmt.Errorf("35com: %w", err)
}
@ -88,8 +89,8 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
err := d.prv.CleanUp(domain, token, keyAuth)
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
err := d.prv.CleanUp(ctx, domain, token, keyAuth)
if err != nil {
return fmt.Errorf("35com: %w", err)
}

View file

@ -125,7 +125,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -139,6 +139,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -129,9 +129,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -160,9 +158,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp clears ConoHa DNS TXT record.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -160,7 +160,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -176,6 +176,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(1 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -138,9 +138,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -169,9 +167,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp clears ConoHa DNS TXT record.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -160,7 +160,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -176,6 +176,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(1 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -109,9 +109,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -152,9 +150,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -134,7 +134,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -150,6 +150,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(1 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -109,8 +109,7 @@ func (d *DNSProvider) Sequential() time.Duration {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
ctxAuth, err := d.client.CreateAuthenticatedContext(ctx)
@ -149,8 +148,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
ctxAuth, err := d.client.CreateAuthenticatedContext(ctx)

View file

@ -116,7 +116,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -130,6 +130,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -124,8 +124,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, _, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, _, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -202,8 +201,7 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, _, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -287,7 +287,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -303,6 +303,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(1 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -94,8 +94,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
err := d.client.AddTXTRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), info.Value)
@ -107,8 +106,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
err := d.client.RemoveTXTRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN))

View file

@ -99,7 +99,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -113,7 +113,7 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -148,7 +148,7 @@ func TestDNSProvider_Present(t *testing.T) {
).
Build(t)
err := provider.Present("example.com", "abc", "123d==")
err := provider.Present(t.Context(), "example.com", "abc", "123d==")
require.NoError(t, err)
}
@ -163,6 +163,6 @@ func TestDNSProvider_CleanUp(t *testing.T) {
).
Build(t)
err := provider.CleanUp("example.com", "abc", "123d==")
err := provider.CleanUp(t.Context(), "example.com", "abc", "123d==")
require.NoError(t, err)
}

View file

@ -111,8 +111,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -150,8 +149,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zoneID, err := d.getZoneID(ctx, info)

View file

@ -97,7 +97,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -111,6 +111,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -106,8 +106,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -158,8 +157,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -98,7 +98,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -114,6 +114,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(1 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -132,8 +132,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record to fulfill the dns-01 challenge.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.getZoneName(ctx, info.EffectiveFQDN)
@ -173,8 +172,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
zone, err := d.getZoneName(ctx, info.EffectiveFQDN)

View file

@ -337,7 +337,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -353,6 +353,6 @@ func TestLiveCleanUp(t *testing.T) {
time.Sleep(1 * time.Second)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -118,9 +118,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -143,9 +141,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -123,7 +123,7 @@ func TestDNSProvider_Present(t *testing.T) {
servermock.CheckRequestJSONBody(`{"type":"TXT","name":"_acme-challenge.example.com.","data":"w6uP8Tcg6K2QR905Rms8iXTlksL6OD1KOWBxTK7wxPI","ttl":30}`)).
Build(t)
err := provider.Present("example.com", "", "foobar")
err := provider.Present(t.Context(), "example.com", "", "foobar")
require.NoError(t, err)
}
@ -138,6 +138,6 @@ func TestDNSProvider_CleanUp(t *testing.T) {
provider.recordIDs["token"] = 1234567
provider.recordIDsMu.Unlock()
err := provider.CleanUp("example.com", "token", "")
err := provider.CleanUp(t.Context(), "example.com", "token", "")
require.NoError(t, err)
}

View file

@ -112,9 +112,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := d.getZoneName(ctx, info.EffectiveFQDN)
@ -143,9 +141,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := d.getZoneName(ctx, info.EffectiveFQDN)

View file

@ -140,7 +140,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -154,6 +154,6 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}

View file

@ -91,9 +91,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
// Present creates a TXT record using the specified parameters.
func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) Present(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)
@ -122,9 +120,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
}
// CleanUp removes the TXT record matching the specified parameters.
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
ctx := context.Background()
func (d *DNSProvider) CleanUp(ctx context.Context, domain, token, keyAuth string) error {
info := dns01.GetChallengeInfo(ctx, domain, keyAuth)
authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN)

View file

@ -100,7 +100,7 @@ func TestLivePresent(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.Present(envTest.GetDomain(), "", "123d==")
err = provider.Present(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -114,7 +114,7 @@ func TestLiveCleanUp(t *testing.T) {
provider, err := NewDNSProvider()
require.NoError(t, err)
err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
err = provider.CleanUp(t.Context(), envTest.GetDomain(), "", "123d==")
require.NoError(t, err)
}
@ -148,7 +148,7 @@ func TestDNSProvider_Present(t *testing.T) {
).
Build(t)
err := provider.Present("example.com", "abc", "123d==")
err := provider.Present(t.Context(), "example.com", "abc", "123d==")
require.NoError(t, err)
}
@ -160,6 +160,6 @@ func TestDNSProvider_CleanUp(t *testing.T) {
).
Build(t)
err := provider.CleanUp("example.com", "abc", "123d==")
err := provider.CleanUp(t.Context(), "example.com", "abc", "123d==")
require.NoError(t, err)
}

View file

@ -1,7 +1,6 @@
package internal
import (
"context"
"net/http"
"net/http/httptest"
"net/url"
@ -45,7 +44,7 @@ func TestClient_AddRecord(t *testing.T) {
TTL: 2,
}
err := client.AddRecord(context.Background(), "example.com", record)
err := client.AddRecord(t.Context(), "example.com", record)
require.NoError(t, err)
}
@ -65,7 +64,7 @@ func TestClient_AddRecord_error(t *testing.T) {
Overwrite: true,
}
err := client.AddRecord(context.Background(), "example.com", record)
err := client.AddRecord(t.Context(), "example.com", record)
require.Error(t, err)
require.EqualError(t, err, "JSON Defined Record Type not Supported (code=6)")
@ -85,7 +84,7 @@ func TestClient_DeleteRecord(t *testing.T) {
Content: "ADw2sEd82DUgXcQ9hNBZThJs7zVJkR5v9JeSbAb9mZY",
}
err := client.DeleteRecord(context.Background(), "example.com", record)
err := client.DeleteRecord(t.Context(), "example.com", record)
require.NoError(t, err)
}
@ -103,7 +102,7 @@ func TestClient_DeleteRecord_error(t *testing.T) {
Content: "txtTXTtxt",
}
err := client.DeleteRecord(context.Background(), "example.com", record)
err := client.DeleteRecord(t.Context(), "example.com", record)
require.Error(t, err)

Some files were not shown because too many files have changed in this diff Show more