Package akamai implements a DNS provider for solving the DNS-01 challenge using Akamai FastDNS. See



const NoMaxBody = -1


This section is empty.


This section is empty.


type DNSProvider

type DNSProvider struct {
	// contains filtered or unexported fields

DNSProvider is an implementation of the acme.ChallengeProvider interface

func NewDNSProvider

func NewDNSProvider(serviceConsumerDomain, clientToken, clientSecret, accessToken string, dns01Nameservers []string) (*DNSProvider, error)

NewDNSProvider returns a DNSProvider instance configured for Akamai.

func (*DNSProvider) CleanUp

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

CleanUp removes the TXT record matching the specified parameters

func (*DNSProvider) Present

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

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

type EdgeGridAuth

type EdgeGridAuth struct {
	ClientToken   string
	ClientSecret  string
	AccessToken   string
	HeadersToSign []string
	MaxBody       int
	// contains filtered or unexported fields

EdgeGridAuth holds all values required to perform Akamai API Client Authentication. See

func NewEdgeGridAuth

func NewEdgeGridAuth(clientToken, clientSecret, accessToken string, headersToSign ...string) *EdgeGridAuth

NewEdgeGridAuth returns a new request signer for Akamai EdgeGrid

func (*EdgeGridAuth) SignRequest

func (e *EdgeGridAuth) SignRequest(req *http.Request) error

SignRequest calculates the signature for Akamai Open API and adds it as the Authorization header. The Authorization header starts with the signing algorithm moniker (name of the algorithm) used to sign the request. The moniker below identifies EdgeGrid V1, hash message authentication code, SHA–256 as the hash standard. This moniker is then followed by a space and an ordered list of name value pairs with each field separated by a semicolon.