From 322048d5af76ce57831ae3cec135827988a9329f Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Wed, 1 Jun 2022 12:21:14 +0400 Subject: [PATCH] dns_loopia --- backend/internal/dnsproviders/common.go | 1 + backend/internal/dnsproviders/dns_loopia.go | 58 +++++++++++++++++++++ frontend/src/locale/src/en.json | 3 ++ 3 files changed, 62 insertions(+) create mode 100644 backend/internal/dnsproviders/dns_loopia.go diff --git a/backend/internal/dnsproviders/common.go b/backend/internal/dnsproviders/common.go index 2883b9b..ddd751d 100644 --- a/backend/internal/dnsproviders/common.go +++ b/backend/internal/dnsproviders/common.go @@ -62,6 +62,7 @@ func List() []Provider { getDNSIspconfig(), getDNSKinghost(), getDNSLinodeV4(), + getDNSLoopia(), getDNSLua(), getDNSMe(), getDNSNamecom(), diff --git a/backend/internal/dnsproviders/dns_loopia.go b/backend/internal/dnsproviders/dns_loopia.go new file mode 100644 index 0000000..1708192 --- /dev/null +++ b/backend/internal/dnsproviders/dns_loopia.go @@ -0,0 +1,58 @@ +package dnsproviders + +const loopiaSchema = ` +{ + "type": "object", + "required": [ + "api_url", + "user", + "password" + ], + "additionalProperties": false, + "properties": { + "api_url": { + "type": "string", + "minLength": 4 + }, + "user": { + "type": "string", + "minLength": 1 + }, + "password": { + "type": "string", + "minLength": 1 + } + } +} +` + +func getDNSLoopia() Provider { + return Provider{ + AcmeshName: "dns_loopia", + Schema: loopiaSchema, + Fields: []providerField{ + { + Name: "API URL", + Type: "text", + MetaKey: "api_url", + EnvKey: "LOOPIA_Api", + IsRequired: true, + }, + { + Name: "User", + Type: "text", + MetaKey: "user", + EnvKey: "LOOPIA_User", + IsRequired: true, + }, + { + Name: "Password", + Type: "password", + MetaKey: "password", + EnvKey: "LOOPIA_Password", + IsRequired: true, + IsSecret: true, + }, + }, + } +} diff --git a/frontend/src/locale/src/en.json b/frontend/src/locale/src/en.json index 11b74d8..4f2e372 100644 --- a/frontend/src/locale/src/en.json +++ b/frontend/src/locale/src/en.json @@ -80,6 +80,9 @@ "acmesh.dns_linode_v4": { "defaultMessage": "Linode" }, + "acmesh.dns_loopia": { + "defaultMessage": "Loopia" + }, "acmesh.dns_lua": { "defaultMessage": "LuaDNS" },