e8674e80e9d1d7c93774a856f15754e5d27f8972
[pxelator] / lib / PXElator / server.pm
1 package server;
2
3 use warnings;
4 use strict;
5
6
7 our $ip      = '172.16.10.1';
8 our $netmask = '255.255.255.0';
9
10 our ( $ip_from, $ip_to ) = ( 10, 100 );
11
12 our $domain_name = 'pxelator.lan';
13
14 our $base_dir = '/srv/pxelator';
15
16 use Module::Refresh qw//;
17 sub refresh { Module::Refresh->refresh };
18
19 mkdir $_ foreach grep { ! -e $_ } map { "$base_dir/conf/$server::ip/$_" } ( 'ip', 'mac', 'hostname', 'deploy' );
20
21 use File::Slurp;
22 sub shared {
23         my ($name, $value) = @_;
24
25         my $path ="$base_dir/conf/$server::ip/$name";
26         if ( defined $value ) {
27                 write_file $path, $value;
28                 warn "update $path = $value";
29         } else {
30                 $value = read_file $path if -e $path;
31         }
32         return $value;
33 }
34
35 sub debug { shared('debug', @_) || 0 }
36
37 warn "loaded";
38
39 1;