/lib/AwesomeGrid/Config.pm
use strict;
use AwesomeGrid;
use Sys::Hostname;
{
open PEERS, "$AwesomeGrid::confdir/trusted";
my @peers;
while (<PEERS>) {
chomp;
s/#.*$//;
next if /^$/;
push @peers, $_;
}
close PEERS;
return @peers;
}
{
open EXPORTS, "$AwesomeGrid::confdir/exports";
my @exports;
while (<EXPORTS>) {
chomp;
s/#.*$//;
next if /^$/;
push @exports, $_;
}
close EXPORTS;
return @exports;
}
{
my %admins;
open ADMINS, "$AwesomeGrid::confdir/admins";
while (<ADMINS>) {
chomp;
my ($machine, $admin) = split(/\s+/);
$admins{$machine} = $admin;
}
close ADMINS;
return \%admins;
}
{
my %config;
open CONFIG, "$AwesomeGrid::confdir/awesomegrid.conf";
while (<CONFIG>) {
s/#.*$//;
next if /^\s+$/;
if (/^([A-Za-z0-9_-]+):\s+(.*)$/) {
$config{$1} = $2;
} else {
print "Config error: line $.\n";
}
}
close CONFIG;
return \%config;
}
{
my $hostname = Sys::Hostname::hostname();
if (($hostname =~ /^([a-z0-9][a-z0-9-]*)(\.|$)/) && $1 !~ /-$/) {
return $1;
} else {
return undef;
}
}
1;