From 844b787dba8ca79cf2a62995aea20aef5935c401 Mon Sep 17 00:00:00 2001 From: kbhandari Date: Thu, 7 May 2020 18:28:47 +0530 Subject: [PATCH] Started making changes on ultradns plugin --- .github/labeler.yml | 3 +++ README.md | 2 ++ docs/ttl.md | 4 ++++ main.go | 4 ++++ pkg/apis/externaldns/types.go | 2 +- 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index 0274c9d9d..e0dc68118 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -64,3 +64,6 @@ provider/vinyldns: provider/vinyldns* # Add 'provider/vultr' in file which starts with vultr provider/vultr: provider/vultr* + +# Add 'provider/ultradns' in file which starts with vultr +provider/vultr: provider/ultradns* diff --git a/README.md b/README.md index 5f1431445..9aa2553e8 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,7 @@ The following table clarifies the current status of the providers according to t | Akamai FastDNS | Alpha | | | OVH | Alpha | | | Vultr | Alpha | | +| UltraDNS | Alpha | | ## Running ExternalDNS: @@ -144,6 +145,7 @@ The following tutorials are provided: * [VinylDNS](docs/tutorials/vinyldns.md) * [OVH](docs/tutorials/ovh.md) * [Vultr](docs/tutorials/vultr.md) +* [UltraDNS](docs/tutorials/ultradns.md) ### Running Locally diff --git a/docs/ttl.md b/docs/ttl.md index 8e5df4e0f..db1cc15e0 100644 --- a/docs/ttl.md +++ b/docs/ttl.md @@ -45,6 +45,7 @@ Providers - [x] TransIP - [x] RFC2136 - [x] Vultr +- [x] UltraDNS PRs welcome! @@ -76,3 +77,6 @@ The TransIP Provider minimal TTL is used when the TTL is 0. The minimal TTL is 6 ### Vultr Provider The Vultr provider minimal TTL is used when the TTL is 0. The default is 1 hour. + +### UltraDNS +The UltraDNS provider minimal TTL is used when the TTL is 0. The default is 24 hour. diff --git a/main.go b/main.go index a09e21d47..e8c0ef5d8 100644 --- a/main.go +++ b/main.go @@ -167,6 +167,10 @@ func main() { p, err = provider.NewVinylDNSProvider(domainFilter, zoneIDFilter, cfg.DryRun) case "vultr": p, err = provider.NewVultrProvider(domainFilter, cfg.DryRun) + + case "ultradns": + p, err = provider.NewUltraDNSProvider(domainFilter, cfg.DryRun) + case "cloudflare": p, err = provider.NewCloudFlareProvider(domainFilter, zoneIDFilter, cfg.CloudflareZonesPerPage, cfg.CloudflareProxied, cfg.DryRun) case "rcodezero": diff --git a/pkg/apis/externaldns/types.go b/pkg/apis/externaldns/types.go index 385427d9d..7ffb95a17 100644 --- a/pkg/apis/externaldns/types.go +++ b/pkg/apis/externaldns/types.go @@ -312,7 +312,7 @@ func (cfg *Config) ParseFlags(args []string) error { app.Flag("service-type-filter", "The service types to take care about (default: all, expected: ClusterIP, NodePort, LoadBalancer or ExternalName)").StringsVar(&cfg.ServiceTypeFilter) // Flags related to providers - app.Flag("provider", "The DNS provider where the DNS records will be created (required, options: aws, aws-sd, google, azure, azure-dns, azure-private-dns, cloudflare, rcodezero, digitalocean, dnsimple, akamai, infoblox, dyn, designate, coredns, skydns, inmemory, ovh, pdns, oci, exoscale, linode, rfc2136, ns1, transip, vinyldns, rdns, vultr)").Required().PlaceHolder("provider").EnumVar(&cfg.Provider, "aws", "aws-sd", "google", "azure", "azure-dns", "azure-private-dns", "alibabacloud", "cloudflare", "rcodezero", "digitalocean", "dnsimple", "akamai", "infoblox", "dyn", "designate", "coredns", "skydns", "inmemory", "ovh", "pdns", "oci", "exoscale", "linode", "rfc2136", "ns1", "transip", "vinyldns", "rdns", "vultr") + app.Flag("provider", "The DNS provider where the DNS records will be created (required, options: aws, aws-sd, google, azure, azure-dns, azure-private-dns, cloudflare, rcodezero, digitalocean, dnsimple, akamai, infoblox, dyn, designate, coredns, skydns, inmemory, ovh, pdns, oci, exoscale, linode, rfc2136, ns1, transip, vinyldns, rdns, vultr, ultradns)").Required().PlaceHolder("provider").EnumVar(&cfg.Provider, "aws", "aws-sd", "google", "azure", "azure-dns", "azure-private-dns", "alibabacloud", "cloudflare", "rcodezero", "digitalocean", "dnsimple", "akamai", "infoblox", "dyn", "designate", "coredns", "skydns", "inmemory", "ovh", "pdns", "oci", "exoscale", "linode", "rfc2136", "ns1", "transip", "vinyldns", "rdns", "vultr") app.Flag("domain-filter", "Limit possible target zones by a domain suffix; specify multiple times for multiple domains (optional)").Default("").StringsVar(&cfg.DomainFilter) app.Flag("exclude-domains", "Exclude subdomains (optional)").Default("").StringsVar(&cfg.ExcludeDomains) app.Flag("zone-id-filter", "Filter target zones by hosted zone id; specify multiple times for multiple zones (optional)").Default("").StringsVar(&cfg.ZoneIDFilter)