cloudflare

package
v1.8.0-alpha.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2022 License: Apache-2.0, MIT Imports: 10 Imported by: 0

Documentation

Overview

Package cloudflare implements a DNS provider for solving the DNS-01 challenge using cloudflare DNS.

Index

Constants

View Source
const CloudFlareAPIURL = "https://api.cloudflare.com/client/v4"

CloudFlareAPIURL represents the API endpoint to call. TODO: Unexport?

Variables

This section is empty.

Functions

This section is empty.

Types

type DNSProvider

type DNSProvider struct {
	// contains filtered or unexported fields
}

DNSProvider is an implementation of the acme.ChallengeProvider interface

func NewDNSProvider

func NewDNSProvider(dns01Nameservers []string, userAgent string) (*DNSProvider, error)

NewDNSProvider returns a DNSProvider instance configured for cloudflare. Credentials must be passed in the environment variables: CLOUDFLARE_EMAIL and CLOUDFLARE_API_KEY.

func NewDNSProviderCredentials

func NewDNSProviderCredentials(email, key, token string, dns01Nameservers []string, userAgent string) (*DNSProvider, error)

NewDNSProviderCredentials uses the supplied credentials to return a DNSProvider instance configured for cloudflare.

func (*DNSProvider) CleanUp

func (c *DNSProvider) CleanUp(domain, fqdn, value string) error

CleanUp removes the TXT record matching the specified parameters

func (*DNSProvider) Present

func (c *DNSProvider) Present(domain, fqdn, value string) error

Present creates a TXT record to fulfil the dns-01 challenge

type DNSProviderType added in v1.8.0

type DNSProviderType interface {
	// contains filtered or unexported methods
}

DNSProviderType is the Mockable Interface

type DNSZone added in v1.8.0

type DNSZone struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

DNSZone is the Zone-Record returned from Cloudflare (we`ll ignore everything we don't need) See https://api.cloudflare.com/#zone-properties

func FindNearestZoneForFQDN added in v1.8.0

func FindNearestZoneForFQDN(c DNSProviderType, fqdn string) (DNSZone, error)

FindNearestZoneForFQDN will try to traverse the official Cloudflare API to find the nearest valid Zone. It's a replacement for /pkg/issuer/acme/dns/util/wait.go#FindZoneByFqdn

example.com.                                   ← Zone-Record found for the SLD (in most cases)
└── foo.example.com.                           ← Zone-Record could be possibly here, but in this case not.
    └── _acme-challenge.foo.example.com.       ← Starting point, the FQDN.

It will try to call the API for each branch (from bottom to top) and see if there's a Zone-Record returned. Calling See https://api.cloudflare.com/#zone-list-zones

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL