From 7961599b2e41c71720a42b3bfde641f7529f05fe Mon Sep 17 00:00:00 2001 From: Corey Hulen Date: Tue, 22 Nov 2016 11:05:54 -0800 Subject: PLT-4357 adding performance monitoring (#4622) * WIP * WIP * Adding metrics collection * updating vendor packages * Adding metrics to config * Adding admin console page for perf monitoring * Updating glide * switching to tylerb/graceful --- .../xenolf/lego/providers/dns/dns_providers.go | 80 ++++++++++++++++++++++ .../lego/providers/dns/dns_providers_test.go | 50 ++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 vendor/github.com/xenolf/lego/providers/dns/dns_providers.go create mode 100644 vendor/github.com/xenolf/lego/providers/dns/dns_providers_test.go (limited to 'vendor/github.com/xenolf/lego/providers') diff --git a/vendor/github.com/xenolf/lego/providers/dns/dns_providers.go b/vendor/github.com/xenolf/lego/providers/dns/dns_providers.go new file mode 100644 index 000000000..33fca0fad --- /dev/null +++ b/vendor/github.com/xenolf/lego/providers/dns/dns_providers.go @@ -0,0 +1,80 @@ +// Factory for DNS providers +package dns + +import ( + "fmt" + + "github.com/xenolf/lego/acme" + "github.com/xenolf/lego/providers/dns/auroradns" + "github.com/xenolf/lego/providers/dns/azure" + "github.com/xenolf/lego/providers/dns/cloudflare" + "github.com/xenolf/lego/providers/dns/digitalocean" + "github.com/xenolf/lego/providers/dns/dnsimple" + "github.com/xenolf/lego/providers/dns/dnsmadeeasy" + "github.com/xenolf/lego/providers/dns/dnspod" + "github.com/xenolf/lego/providers/dns/dyn" + "github.com/xenolf/lego/providers/dns/exoscale" + "github.com/xenolf/lego/providers/dns/gandi" + "github.com/xenolf/lego/providers/dns/googlecloud" + "github.com/xenolf/lego/providers/dns/linode" + "github.com/xenolf/lego/providers/dns/namecheap" + "github.com/xenolf/lego/providers/dns/ns1" + "github.com/xenolf/lego/providers/dns/ovh" + "github.com/xenolf/lego/providers/dns/pdns" + "github.com/xenolf/lego/providers/dns/rackspace" + "github.com/xenolf/lego/providers/dns/rfc2136" + "github.com/xenolf/lego/providers/dns/route53" + "github.com/xenolf/lego/providers/dns/vultr" +) + +func NewDNSChallengeProviderByName(name string) (acme.ChallengeProvider, error) { + var err error + var provider acme.ChallengeProvider + switch name { + case "azure": + provider, err = azure.NewDNSProvider() + case "auroradns": + provider, err = auroradns.NewDNSProvider() + case "cloudflare": + provider, err = cloudflare.NewDNSProvider() + case "digitalocean": + provider, err = digitalocean.NewDNSProvider() + case "dnsimple": + provider, err = dnsimple.NewDNSProvider() + case "dnsmadeeasy": + provider, err = dnsmadeeasy.NewDNSProvider() + case "dnspod": + provider, err = dnspod.NewDNSProvider() + case "dyn": + provider, err = dyn.NewDNSProvider() + case "exoscale": + provider, err = exoscale.NewDNSProvider() + case "gandi": + provider, err = gandi.NewDNSProvider() + case "gcloud": + provider, err = googlecloud.NewDNSProvider() + case "linode": + provider, err = linode.NewDNSProvider() + case "manual": + provider, err = acme.NewDNSProviderManual() + case "namecheap": + provider, err = namecheap.NewDNSProvider() + case "rackspace": + provider, err = rackspace.NewDNSProvider() + case "route53": + provider, err = route53.NewDNSProvider() + case "rfc2136": + provider, err = rfc2136.NewDNSProvider() + case "vultr": + provider, err = vultr.NewDNSProvider() + case "ovh": + provider, err = ovh.NewDNSProvider() + case "pdns": + provider, err = pdns.NewDNSProvider() + case "ns1": + provider, err = ns1.NewDNSProvider() + default: + err = fmt.Errorf("Unrecognised DNS provider: %s", name) + } + return provider, err +} diff --git a/vendor/github.com/xenolf/lego/providers/dns/dns_providers_test.go b/vendor/github.com/xenolf/lego/providers/dns/dns_providers_test.go new file mode 100644 index 000000000..3f87ffd33 --- /dev/null +++ b/vendor/github.com/xenolf/lego/providers/dns/dns_providers_test.go @@ -0,0 +1,50 @@ +package dns + +import ( + "os" + "reflect" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/xenolf/lego/providers/dns/exoscale" +) + +var ( + apiKey string + apiSecret string +) + +func init() { + apiSecret = os.Getenv("EXOSCALE_API_SECRET") + apiKey = os.Getenv("EXOSCALE_API_KEY") +} + +func restoreExoscaleEnv() { + os.Setenv("EXOSCALE_API_KEY", apiKey) + os.Setenv("EXOSCALE_API_SECRET", apiSecret) +} + +func TestKnownDNSProviderSuccess(t *testing.T) { + os.Setenv("EXOSCALE_API_KEY", "abc") + os.Setenv("EXOSCALE_API_SECRET", "123") + provider, err := NewDNSChallengeProviderByName("exoscale") + assert.NoError(t, err) + assert.NotNil(t, provider) + if reflect.TypeOf(provider) != reflect.TypeOf(&exoscale.DNSProvider{}) { + t.Errorf("Not loaded correct DNS proviver: %v is not *exoscale.DNSProvider", reflect.TypeOf(provider)) + } + restoreExoscaleEnv() +} + +func TestKnownDNSProviderError(t *testing.T) { + os.Setenv("EXOSCALE_API_KEY", "") + os.Setenv("EXOSCALE_API_SECRET", "") + _, err := NewDNSChallengeProviderByName("exoscale") + assert.Error(t, err) + restoreExoscaleEnv() +} + +func TestUnknownDNSProvider(t *testing.T) { + _, err := NewDNSChallengeProviderByName("foobar") + assert.Error(t, err) +} -- cgit v1.2.3-1-g7c22