Skip to content

Commit

Permalink
feature: add dnsimple provider
Browse files Browse the repository at this point in the history
  • Loading branch information
rschmukler committed Mar 29, 2016
1 parent 17f0b01 commit 8d2b4cc
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
2 changes: 2 additions & 0 deletions context.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ func (c *Context) InitContext() {
DoAccessToken: os.Getenv("DO_ACCESS_TOKEN"),
AwsAccessKey: os.Getenv("AWS_ACCESS_KEY"),
AwsSecretKey: os.Getenv("AWS_SECRET_KEY"),
DNSimpleEmail: os.Getenv("DNSIMPLE_EMAIL"),
DNSimpleKey: os.Getenv("DNSIMPLE_KEY"),
AwsRegionName: "us-east-1",
}

Expand Down
22 changes: 22 additions & 0 deletions letsencrypt/providers.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ type ProviderOpts struct {
AwsAccessKey string
AwsSecretKey string
AwsRegionName string

// DNSimple credentials
DNSimpleEmail string
DNSimpleKey string
}

type DnsProvider string
Expand All @@ -30,12 +34,14 @@ const (
CLOUDFLARE = DnsProvider("CloudFlare")
DIGITALOCEAN = DnsProvider("DigitalOcean")
ROUTE53 = DnsProvider("Route53")
DNSIMPLE = DnsProvider("DNSimple")
)

var dnsProviderFactory = map[DnsProvider]interface{}{
CLOUDFLARE: makeCloudflareProvider,
DIGITALOCEAN: makeDigitalOceanProvider,
ROUTE53: makeRoute53Provider,
DNSIMPLE: makeDNSimpleProvider,
}

func getProvider(opts ProviderOpts) (lego.ChallengeProvider, error) {
Expand Down Expand Up @@ -96,3 +102,19 @@ func makeRoute53Provider(opts ProviderOpts) (lego.ChallengeProvider, error) {
}
return provider, nil
}

// returns a preconfigured DNSimple lego.ChallengeProvider
func makeDNSimpleProvider(opts ProviderOpts) (lego.ChallengeProvider, error) {
if len(opts.DNSimpleEmail) == 0 {
return nil, fmt.Errorf("DNSimple Email not set")
}
if len(opts.DNSimpleKey) == 0 {
return nil, fmt.Errorf("DNSimple API key is not set")
}

provider, err := lego.NewDNSProviderDNSimple(opts.DNSimpleEmail, opts.DNSimpleKey)
if err != nil {
return nil, err
}
return provider, nil
}

0 comments on commit 8d2b4cc

Please sign in to comment.