diff --git a/backend/internal/dnsproviders/common.go b/backend/internal/dnsproviders/common.go index 5b155ef..ed11dc4 100644 --- a/backend/internal/dnsproviders/common.go +++ b/backend/internal/dnsproviders/common.go @@ -54,6 +54,7 @@ func List() []Provider { getDNSGd(), getDNSHe(), getDNSInfoblox(), + getDNSInwx(), getDNSIspconfig(), getDNSLinodeV4(), getDNSLua(), diff --git a/backend/internal/dnsproviders/dns_inwx.go b/backend/internal/dnsproviders/dns_inwx.go new file mode 100644 index 0000000..1142f59 --- /dev/null +++ b/backend/internal/dnsproviders/dns_inwx.go @@ -0,0 +1,46 @@ +package dnsproviders + +const inwxSchema = ` +{ + "type": "object", + "required": [ + "user", + "password" + ], + "additionalProperties": false, + "properties": { + "user": { + "type": "string", + "minLength": 1 + }, + "password": { + "type": "string", + "minLength": 1 + } + } +} +` + +func getDNSInwx() Provider { + return Provider{ + AcmeshName: "dns_inwx", + Schema: inwxSchema, + Fields: []providerField{ + { + Name: "User", + Type: "text", + MetaKey: "user", + EnvKey: "INWX_User", + IsRequired: true, + }, + { + Name: "Password", + Type: "password", + MetaKey: "password", + EnvKey: "INWX_Password", + IsRequired: true, + IsSecret: true, + }, + }, + } +}