aboutsummaryrefslogtreecommitdiffstats
path: root/modules/draklive/manifests/init.pp
blob: c9effd81b8ec8ae3e09627ba00a99b1aa2260ceb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
class draklive {
    class variable {
        $draklive_login = 'draklive'
        $draklive_home = '/home/draklive'
        $draklive_config = "$draklive_home/live-config"
        $draklive_var_data = "$draklive_home/var-data"
	$isomakers_group = 'mga-iso_makers'
    }

    class base inherits variable {
	include sudo

        group { $draklive_login: }
 
        user { $draklive_login:
            home       => $draklive_home,
            managehome => true,
            comment    => 'User for creating live ISOs',
        }

        package { draklive:
	    ensure => 'installed',
        }

        sudo::sudoers_config { "draklive":
	    content => template("draklive/sudoers.draklive")
        }

	file { $draklive_var_data:
	    ensure => directory,
	    owner => $draklive_login,
	    group => $draklive_login,
	    mode => 755,
	}

	file { "/var/lib/draklive":
	     ensure => symlink,
	     target => $draklive_var_data,
	}

        subversion::snapshot { $draklive_config:
            source => "svn://svn.$domain/soft/images-config/draklive/trunk/",
        }

        cron { "build live images":
            command => "$draklive_config/tools/build_live.sh",
            user => $draklive_login,
            hour => "4",
            minute => "30",
        }

        file { "/usr/local/bin/clean-live.sh":
            ensure => present,
            owner => root,
            group => root,
            mode => 755,
            source => "puppet:///modules/draklive/clean-live.sh",
        }
    
        cron { "clean live build data":
            command => "/usr/local/bin/clean-live.sh",
            hour => "4",
            minute => "20",
        }
    }
}