]> git.proxmox.com Git - proxmox-acme.git/blobdiff - src/PVE/ACME/DNSChallenge.pm
dns challenge: add missing plugins to schema
[proxmox-acme.git] / src / PVE / ACME / DNSChallenge.pm
index 3777a14916d7733b9eb00679b3765946533c0771..2d20ffb8c51c927b32a9b919eccbbfd84c1dcec1 100644 (file)
@@ -32,6 +32,7 @@ sub type {
 #      },
 #    },
 my $plugins = {
+    '1984hosting' => {},
     'acmedns' => {},
     'acmeproxy' => {},
     'active24' => {
@@ -71,6 +72,8 @@ my $plugins = {
            },
        },
     },
+    'anx' => {},
+    'arvan' => {},
     'autodns' => {},
     'aws' => {
        name => 'Amazon Route53 (AWS)',
@@ -125,7 +128,15 @@ my $plugins = {
     'ddnss' => {},
     'desec' => {},
     'df' => {},
-    'dgon' => {},
+    'dgon' => {
+       name => 'DigitalOcean DNS',
+       fields => {
+           'DO_API_KEY' => {
+               description => 'The DigitalOcean API Key',
+               type => 'string',
+           },
+       },
+    },
     'dnsimple' => {},
     'do' => {},
     'doapi' => {},
@@ -139,6 +150,7 @@ my $plugins = {
     'dynu' => {},
     'dynv6' => {},
     'easydns' => {},
+    'edgedns' => {},
     'euserv' => {},
     'exoscale' => {},
     'freedns' => {},
@@ -159,13 +171,30 @@ my $plugins = {
     },
     'gdnsdk' => {},
     'he' => {},
+    'hetzner' => {},
     'hexonet' => {},
     'hostingde' => {},
+    'huaweicloud' => {},
     'infoblox' => {},
+    'infomaniak' => {},
     'internetbs' => {},
-    'inwx' => {},
+    'inwx' => {
+       name => 'INWX',
+       fields => {
+           'INWX_User' => {
+               description => 'The INWX username',
+               type => 'string',
+           },
+           'INWX_Password' => {
+               description => 'The INWX password',
+               type => 'string',
+           },
+       },
+    },
     'ispconfig' => {},
     'jd' => {},
+    'joker' => {},
+    'kappernet' => {},
     'kas' => {},
     'kinghost' => {},
     'knot' => {},
@@ -188,7 +217,10 @@ my $plugins = {
     'nederhost' => {},
     'neodigit' => {},
     'netcup' => {},
+    'netlify' => {},
     'nic' => {},
+    'njalla' => {},
+    'nm' => {},
     'nsd' => {},
     'nsone' => {},
     'nsupdate' => {},
@@ -196,6 +228,7 @@ my $plugins = {
     'one' => {},
     'online' => {},
     'openprovider' => {},
+    'openstack' => {},
     'opnsense' => {},
     'ovh' => {
        name => 'OVH',
@@ -248,11 +281,13 @@ my $plugins = {
     'selectel' => {},
     'servercow' => {},
     'tele3' => {},
+    'transip' => {},
     'ultra' => {},
     'unoeuro' => {},
     'variomedia' => {},
     'vscale' => {},
     'vultr' => {},
+    'world4you' => {},
     'yandex' => {},
     'zilore' => {},
     'zone' => {},
@@ -341,10 +376,7 @@ sub setup {
     my $domain = $proxmox_acme_command->($self, $acme, $auth, $data, 'setup');
     print "Add TXT record: _acme-challenge.$domain\n";
 
-    # FIXME: probe ourself for propagation of TXT record, while not 100%
-    # failsafe it's good enough of a heuristic to do away with fixed sleep
-    # intervalls - original acme.sh employs that heuristic too.
-    my $delay = $data->{'validation-delay'} // 30;
+    my $delay = $data->{plugin}->{'validation-delay'} // 30;
     if ($delay > 0) {
        print "Sleeping $delay seconds to wait for TXT record propagation\n";
        sleep($delay); # don't care for EINTR