summaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: 16f2c7ab67024e982a4289ace6bd17d19b3e3c6d (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
#
# denyhosts module
#
# Copyright 2008, Puzzle ITC GmbH
# Marcel Härry haerry+puppet(at)puzzle.ch
# Simon Josi josi+puppet(at)puzzle.ch
#
# This program is free software; you can redistribute 
# it and/or modify it under the terms of the GNU 
# General Public License version 3 as published by 
# the Free Software Foundation.
#
# This module is used to configure the
# denyhosts script.
#

# modules_dir { "denyhosts": }

class denyhosts {
    case $operatingsystem {
        gentoo: { include denyhosts::gentoo }
        default: { include denyhosts::base }
    }
}

class denyhosts::base  {
    package{denyhosts:
        ensure => present,
    }

    service{denyhosts:
        enable => true,
        ensure => running,
        require => [ Package[denyhosts], 
            File["/etc/denyhosts.conf"], 
            File["/var/lib/denyhosts/allowed-hosts"] ],
    }

    file{'/etc/denyhosts.conf':
        source => [ "puppet://$server/files/denyhosts/${fqdn}/denyhosts.conf", 
                    "puppet://$server/files/denyhosts/denyhosts.conf",
                    "puppet://$server/denyhosts/denyhosts.conf" ],
        notify => Service[denyhosts],
        mode => 0600, owner => root, group => 0;
    }

    file{'/var/lib/denyhosts/':
        ensure => directory,
        owner => root, group => 0, mode => 0700; 
    }
    file{'/var/lib/denyhosts/allowed-hosts':
        source => [ "puppet://$server/files/denyhosts/${fqdn}/allowed-hosts", 
                    "puppet://$server/files/denyhosts/allowed-hosts",
                    "puppet://$server/denyhosts/allowed-hosts" ],
        notify => Service[denyhosts],
        require => File['/var/lib/denyhosts/'],
        mode => 0600, owner => root, group => 0;
    }
}

class denyhosts::gentoo inherits denyhosts::base {
    Package[denyhosts]{
        category => 'app-admin',
    }
}