Parent Directory | Revision Log
implement client::conf to fetch/set (with default) client configuration
1 | dpavlin | 74 | package config; |
2 | |||
3 | use warnings; | ||
4 | use strict; | ||
5 | dpavlin | 135 | use autodie; |
6 | dpavlin | 74 | |
7 | use server; | ||
8 | dpavlin | 129 | use pxelinux; |
9 | dpavlin | 156 | use client; |
10 | dpavlin | 74 | use File::Slurp; |
11 | |||
12 | dpavlin | 153 | sub available { qw/debian_live webconverger debirf tinycore/ }; |
13 | |||
14 | dpavlin | 129 | 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 | dpavlin | 138 | use upstream; |
21 | |||
22 | dpavlin | 142 | =head1 webconverger |
23 | |||
24 | Webconverger - the opensource Web Kiosk | ||
25 | |||
26 | L<http://webconverger.org/> | ||
27 | |||
28 | =cut | ||
29 | |||
30 | dpavlin | 129 | sub webconverger { |
31 | dpavlin | 153 | my ($ip) = @_; |
32 | dpavlin | 129 | |
33 | dpavlin | 138 | upstream::iso( 'http://download.webconverger.com/webc-5.2.iso' ); |
34 | dpavlin | 129 | |
35 | dpavlin | 156 | my $homepage = client::conf( $ip => 'homepage', default => "http://${server::ip}:7777/client" ); |
36 | my $hostname = client::conf( $ip => 'hostname', default => 'webconverger' ); | ||
37 | dpavlin | 151 | |
38 | dpavlin | 138 | pxelinux::config_for_ip( $ip, qq{ |
39 | dpavlin | 129 | |
40 | dpavlin | 138 | default webconverger |
41 | dpavlin | 135 | label webconverger |
42 | kernel iso/live/vmlinuz-2.6.30-backports.1-486 | ||
43 | dpavlin | 153 | 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 | dpavlin | 135 | |
45 | dpavlin | 138 | }); |
46 | |||
47 | dpavlin | 129 | } |
48 | |||
49 | dpavlin | 142 | =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 | dpavlin | 145 | 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 | dpavlin | 110 | sub for_ip { |
86 | my $ip = shift; | ||
87 | dpavlin | 156 | my $deploy = client::conf( $ip => 'deploy', default => 'webconverger' ); |
88 | dpavlin | 154 | eval $deploy . '($ip)'; |
89 | dpavlin | 129 | # $tftp::dir = "$server::base_dir/tftp/$pxelinux::path_prefix"; |
90 | dpavlin | 110 | } |
91 | |||
92 | dpavlin | 135 | warn 'loaded'; |
93 | |||
94 | dpavlin | 74 | 1; |
ViewVC Help | |
Powered by ViewVC 1.1.26 |