summaryrefslogtreecommitdiffstats
path: root/puppet/modules/network_test_server/manifests/linux/danted.pp
blob: b9aa037f17a0e9d77909e8bf504d857c0a9cbfa2 (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
67
68
69
70
71
72
73
74
75
class network_test_server::linux::danted {

    if $::operatingsystem == "Ubuntu" {
        # FIXME: tests were written against this ancient dante-server,
        # and they now fail against current versions.
        # For compatibility with the pre-puppet test server, we'll use this
        # old version too, but the tests should really be fixed.
        $dante_deb = $architecture ? {
            i386    =>  'dante-server_1.1.14-2_i386.deb',
            x86_64  =>  'dante-server_1.1.14-2_ia64.deb',
            default =>  err("architecture $architecture is not supported!"),
        }

        exec { "fetch old dante-server":
            creates =>  "/tmp/$dante_deb",
            command =>  "/usr/bin/wget -O /tmp/$dante_deb http://snapshot.debian.org/archive/debian/20050312T000000Z/pool/main/d/dante/$dante_deb",
        }

        package { "dante-server":
            provider    =>  dpkg,
            ensure      =>  latest,
            source      =>  "/tmp/$dante_deb",
            require     =>  [ Exec["fetch old dante-server"], File["/etc/init.d/danted-authenticating"] ],
        }
    }
    else {
        # Note: OS other than Ubuntu are also likely to hit the above issue.
        # Fix it as needed.
        package { "dante-server":
            ensure  =>  present,
            require =>  File["/etc/init.d/danted", "/etc/init.d/danted-authenticating"],
        }
    }

    service {
        "danted":
            enable  =>  true,
            ensure  =>  running,
            hasstatus=> false,
            require =>  Package["dante-server"],
        ;
        "danted-authenticating":
            enable  =>  true,
            ensure  =>  running,
            hasstatus=> false,
            require =>  Package["dante-server"],
        ;
    }

    file {
        "/etc/danted.conf":
            source  =>  "puppet:///modules/network_test_server/config/danted/danted.conf",
            require =>  Package["dante-server"],
            notify  =>  Service["danted"],
        ;
        "/etc/danted-authenticating.conf":
            source  =>  "puppet:///modules/network_test_server/config/danted/danted-authenticating.conf",
            require =>  Package["dante-server"],
            notify  =>  Service["danted-authenticating"],
        ;
        "/etc/init.d/danted":
            source  =>  "puppet:///modules/network_test_server/init/danted",
        ;
        "/etc/init.d/danted-authenticating":
            source  =>  "puppet:///modules/network_test_server/init/danted",
        ;
        "/etc/logrotate.d/sockd":
            source  =>  "puppet:///modules/network_test_server/logrotate.d/sockd",
        ;
        "/etc/logrotate.d/sockd-authenticating":
            source  =>  "puppet:///modules/network_test_server/logrotate.d/sockd-authenticating",
    }

}