1 package Promulger::Config;
9 my @NECESSARY = qw/aliases list_home/;
12 my ($class, $config_file) = @_;
13 $config = { Config::General->new($config_file)->getall };
14 $config->{config_file} = $config_file;
16 $class->validate_config($config);
22 die "No configuration loaded" unless $config;
27 my ($class, $config) = @_;
28 for my $nec (@NECESSARY) {
29 die "Required key '${nec}' missing in " . $config->{config_file}
30 unless $config->{$nec};
33 die "cannot read aliases file " . $config->{aliases}
34 unless -r $config->{aliases};
35 die "cannot write to list home " . $config->{list_home}
36 unless -w $config->{list_home};
39 'http://reductivelabs.com/products/puppet/';