new Backend package to load core plugins
This commit is contained in:
@@ -29,6 +29,7 @@ BEGIN {
|
|||||||
setting('workers')->{'BACKEND'} ||= (hostfqdn || 'fqdn-undefined');
|
setting('workers')->{'BACKEND'} ||= (hostfqdn || 'fqdn-undefined');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
use App::Netdisco::Backend;
|
||||||
use App::Netdisco::Util::MCE; # set $0 and parse maxworkers
|
use App::Netdisco::Util::MCE; # set $0 and parse maxworkers
|
||||||
use NetAddr::IP::Lite ':lower'; # to quench AF_INET6 symbol errors
|
use NetAddr::IP::Lite ':lower'; # to quench AF_INET6 symbol errors
|
||||||
use Role::Tiny::With;
|
use Role::Tiny::With;
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ BEGIN {
|
|||||||
|
|
||||||
# for netdisco app config
|
# for netdisco app config
|
||||||
use App::Netdisco;
|
use App::Netdisco;
|
||||||
|
use App::Netdisco::Backend;
|
||||||
use App::Netdisco::Backend::Job;
|
use App::Netdisco::Backend::Job;
|
||||||
use Dancer qw/:moose :script/;
|
use Dancer qw/:moose :script/;
|
||||||
|
|
||||||
|
|||||||
29
lib/App/Netdisco/Backend.pm
Normal file
29
lib/App/Netdisco/Backend.pm
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package App::Netdisco::Backend;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use Module::Load ();
|
||||||
|
use Dancer ':syntax';
|
||||||
|
|
||||||
|
# load core worker plugins for our workers
|
||||||
|
# NOTE: this package is loaded for all actions whether backend or netdisco-do
|
||||||
|
|
||||||
|
sub load_core_plugins {
|
||||||
|
my $plugin_list = shift;
|
||||||
|
|
||||||
|
foreach my $plugin (@$plugin_list) {
|
||||||
|
$plugin =~ s/^X::/+App::NetdiscoX::Core::Plugin::/;
|
||||||
|
$plugin = 'App::Netdisco::Core::Plugin::'. $plugin
|
||||||
|
if $plugin !~ m/^\+/;
|
||||||
|
$plugin =~ s/^\+//;
|
||||||
|
|
||||||
|
debug "loading Netdisco plugin $plugin";
|
||||||
|
eval { Module::Load::load $plugin };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
load_core_plugins( setting('extra_core_plugins') || [] );
|
||||||
|
load_core_plugins( setting('core_plugins') || [] );
|
||||||
|
|
||||||
|
true;
|
||||||
@@ -3,30 +3,6 @@ package App::Netdisco::Backend::Util;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use Dancer ':syntax';
|
|
||||||
|
|
||||||
# load core worker plugins for our workers
|
|
||||||
# NOTE: this package is loaded for all actions whether backend or netdisco-do
|
|
||||||
|
|
||||||
use Module::Load ();
|
|
||||||
|
|
||||||
sub load_core_plugins {
|
|
||||||
my $plugin_list = shift;
|
|
||||||
|
|
||||||
foreach my $plugin (@$plugin_list) {
|
|
||||||
$plugin =~ s/^X::/+App::NetdiscoX::Core::Plugin::/;
|
|
||||||
$plugin = 'App::Netdisco::Core::Plugin::'. $plugin
|
|
||||||
if $plugin !~ m/^\+/;
|
|
||||||
$plugin =~ s/^\+//;
|
|
||||||
|
|
||||||
debug "loading Netdisco plugin $plugin";
|
|
||||||
eval { Module::Load::load $plugin };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
load_core_plugins( setting('extra_core_plugins') || [] );
|
|
||||||
load_core_plugins( setting('core_plugins') || [] );
|
|
||||||
|
|
||||||
# support utilities for Backend Actions
|
# support utilities for Backend Actions
|
||||||
|
|
||||||
use base 'Exporter';
|
use base 'Exporter';
|
||||||
|
|||||||
Reference in New Issue
Block a user