summaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: e6494e992fd7a462da6c6aa3d09400a9969c2285 (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
# This module is distributed under the GNU Affero General Public License:
# 
# rng-tools module for puppet
# Copyright (C) 2009 Sarava Group
# 
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
# 
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

class rng_tools {

  # Warning: do not set device do /dev/urandom, see
  # http://bugs.gentoo.org/292239
  case $rng_tools_device {
    '': { $rng_tools_device = '/dev/hwrng' }
  }

  case $rng_tools_options {
    '': { $rng_tools_options = '' }
  }

  # The needed packages
  package { [ "rng-tools", "israndom" ]:
    ensure => installed,
  }

  file { "/etc/default/rng-tools": 
    ensure  => present,
    owner   => root,
    group   => root,
    mode    => 0644,
    notify  => Service["rng-tools"],
    content => template('rng_tools/default/rng-tools.erb'),
  }

  service { "rng-tools":
    enable     => true,
    ensure     => running,
    hasrestart => true,
    require    => [ File["/etc/default/rng-tools"], Package["rng-tools"] ],
  }
}