]> git.proxmox.com Git - pve-manager.git/commitdiff
Add function that selects the desired plugin.
authorWolfgang Link <w.link@proxmox.com>
Thu, 16 Apr 2020 05:18:26 +0000 (07:18 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Sun, 3 May 2020 12:10:17 +0000 (14:10 +0200)
These functions also extract the data required for the plugin.

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
PVE/API2/ACME.pm

index e69a563b7c95baa991d046bf4c5b252e37444255..7bb3ab954769752080f0aaa79ac0efca119bdd36 100644 (file)
@@ -45,6 +45,33 @@ __PACKAGE__->register_method ({
        ];
     }});
 
+my $get_plugin_type = sub {
+    my ($domain, $acme_node_config) = @_;
+
+    my $plugin;
+    my $alias;
+    foreach my $index (keys %$acme_node_config) {
+       next if $index eq 'domains';
+
+       my $domain_config = $acme_node_config->{$index};
+       if (defined($domain_config->{domain}) &&
+           $domain_config->{domain} eq $domain) {
+           $plugin = $domain_config->{plugin};
+           $alias = $domain_config->{alias};
+           last;
+       }
+    }
+    return "standalone" if !defined($plugin);
+
+    my $plugin_conf = PVE::API2::ACMEPlugin::load_config();
+    my $data = $plugin_conf->{ids}->{$plugin};
+    my $plugin_type = $data->{type};
+
+    $data->{alias} = $alias;
+
+    return ($plugin_type, $data);
+};
+
 my $order_certificate = sub {
     my ($acme, $domains) = @_;
     print "Placing ACME order\n";