From 91d23be4e36ffc26f29b7a91ba0677a0a6d306e1 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 1 Jun 2022 08:57:20 +0400 Subject: [PATCH] dns_autodns --- backend/internal/dnsproviders/common.go | 1 + backend/internal/dnsproviders/dns_autodns.go | 58 ++++++++++++++++++++ frontend/src/locale/src/en.json | 3 + 3 files changed, 62 insertions(+) create mode 100644 backend/internal/dnsproviders/dns_autodns.go diff --git a/backend/internal/dnsproviders/common.go b/backend/internal/dnsproviders/common.go index c91c39a..1689263 100644 --- a/backend/internal/dnsproviders/common.go +++ b/backend/internal/dnsproviders/common.go @@ -39,6 +39,7 @@ func List() []Provider { getDNSAd(), getDNSAli(), getDNSAws(), + getDNSAutoDNS(), getDNSCf(), getDNSCloudns(), getDNSCx(), diff --git a/backend/internal/dnsproviders/dns_autodns.go b/backend/internal/dnsproviders/dns_autodns.go new file mode 100644 index 0000000..da610d6 --- /dev/null +++ b/backend/internal/dnsproviders/dns_autodns.go @@ -0,0 +1,58 @@ +package dnsproviders + +const autoDNSSchema = ` +{ + "type": "object", + "required": [ + "user", + "password", + "context" + ], + "additionalProperties": false, + "properties": { + "user": { + "type": "string", + "minLength": 1 + }, + "password": { + "type": "string", + "minLength": 1 + }, + "context": { + "type": "string", + "minLength": 1 + } + } +} +` + +func getDNSAutoDNS() Provider { + return Provider{ + AcmeshName: "dns_autodns", + Schema: autoDNSSchema, + Fields: []providerField{ + { + Name: "User", + Type: "text", + MetaKey: "user", + EnvKey: "AUTODNS_USER", + IsRequired: true, + }, + { + Name: "Password", + Type: "password", + MetaKey: "password", + EnvKey: "AUTODNS_PASSWORD", + IsRequired: true, + IsSecret: true, + }, + { + Name: "Context", + Type: "string", + MetaKey: "context", + EnvKey: "AUTODNS_CONTEXT", + IsRequired: true, + }, + }, + } +} diff --git a/frontend/src/locale/src/en.json b/frontend/src/locale/src/en.json index 4c3981f..fb06c23 100644 --- a/frontend/src/locale/src/en.json +++ b/frontend/src/locale/src/en.json @@ -11,6 +11,9 @@ "acmesh.dns_aws": { "defaultMessage": "AWS Route53" }, + "acmesh.dns_autodns": { + "defaultMessage": "autoDNS (InternetX)" + }, "acmesh.dns_cf": { "defaultMessage": "Cloudflare" },