diff --git a/backend/internal/dnsproviders/common.go b/backend/internal/dnsproviders/common.go index c91c39ad..1689263f 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 00000000..da610d6e --- /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 4c3981fb..fb06c23f 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" },