Parent Directory | Revision Log
implement client::conf to fetch/set (with default) client configuration
1 | package config; |
2 | |
3 | use warnings; |
4 | use strict; |
5 | use autodie; |
6 | |
7 | use server; |
8 | use pxelinux; |
9 | use client; |
10 | use File::Slurp; |
11 | |
12 | sub available { qw/debian_live webconverger debirf tinycore/ }; |
13 | |
14 | sub debian_live { |
15 | $dhcpd::file = "pxelinux.0"; |
16 | $pxelinux::path_prefix = 'live-helper/tftpboot/'; |
17 | $pxelinux::config_file = 'pxelinux.cfg/default'; |
18 | } |
19 | |
20 | use upstream; |
21 | |
22 | =head1 webconverger |
23 | |
24 | Webconverger - the opensource Web Kiosk |
25 | |
26 | L<http://webconverger.org/> |
27 | |
28 | =cut |
29 | |
30 | sub webconverger { |
31 | my ($ip) = @_; |
32 | |
33 | upstream::iso( 'http://download.webconverger.com/webc-5.2.iso' ); |
34 | |
35 | my $homepage = client::conf( $ip => 'homepage', default => "http://${server::ip}:7777/client" ); |
36 | my $hostname = client::conf( $ip => 'hostname', default => 'webconverger' ); |
37 | |
38 | pxelinux::config_for_ip( $ip, qq{ |
39 | |
40 | default webconverger |
41 | label webconverger |
42 | kernel iso/live/vmlinuz-2.6.30-backports.1-486 |
43 | append initrd=iso/live/initrd.img-2.6.30-backports.1-486 fetch=http://172.16.10.1:7777/webconverger/iso/live/filesystem.squashfs boot=live quiet nosudo splash video=vesa:ywrap,mtrr vga=788 nopersistent username=webc hostname=$hostname union=aufs homepage=$homepage |
44 | |
45 | }); |
46 | |
47 | } |
48 | |
49 | =head1 debirf |
50 | |
51 | debirf is a system that will create diskless, all-in-ram images (kernel and initramfs) that boot entirely into ram and leave the user in a fully functional Debian system. |
52 | |
53 | L<http://cmrg.fifthhorseman.net/wiki/debirf> |
54 | |
55 | =cut |
56 | |
57 | sub debirf { |
58 | my $ip = shift; |
59 | |
60 | upstream::iso( 'http://cmrg.mayfirst.org/debirf/debirf-rescue_lenny_2.6.26-1-686.iso' ); |
61 | |
62 | pxelinux::config_for_ip( $ip, qq{ |
63 | |
64 | default linux |
65 | label linux |
66 | kernel iso/vmlinuz-2.6.26-1-686 |
67 | append initrd=iso//debirf-rescue_lenny_2.6.26-1-686.cgz |
68 | |
69 | }); |
70 | } |
71 | |
72 | sub tinycore { |
73 | my $ip = shift; |
74 | upstream::iso( 'http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/2.x/release/tinycore_2.2.iso' ); |
75 | pxelinux::config_for_ip( $ip, qq{ |
76 | |
77 | default linux |
78 | label linux |
79 | kernel iso/boot/bzImage |
80 | append initrd=iso/boot/tinycore.gz |
81 | |
82 | }); |
83 | } |
84 | |
85 | sub for_ip { |
86 | my $ip = shift; |
87 | my $deploy = client::conf( $ip => 'deploy', default => 'webconverger' ); |
88 | eval $deploy . '($ip)'; |
89 | # $tftp::dir = "$server::base_dir/tftp/$pxelinux::path_prefix"; |
90 | } |
91 | |
92 | warn 'loaded'; |
93 | |
94 | 1; |
ViewVC Help | |
Powered by ViewVC 1.1.26 |