summaryrefslogtreecommitdiff
path: root/manifests/classes/augeas.pp
blob: 85a9046d4f26d5e7362b17abcebbd3c87333eadc (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
class augeas {

  if ( ! $augeas_version ) {
    $augeas_version = "present"
  }

  case $operatingsystem {
    /RedHat|CentOS|Fedora/:   { include augeas::redhat }
    /Debian|Ubuntu|kFreeBSD/: { include augeas::debian }
    default:                  { include augeas::base }
  }
}

class augeas::base {

  # ensure no file not managed by puppet ends up in there.
  file { "/usr/share/augeas/lenses/contrib":
    ensure  => directory,
    recurse => true,
    purge   => true,
    force   => true,
    mode    => 0644,
    owner   => "root",
    group   => "root",
  }
}

class augeas::redhat inherits augeas::base {

  package {
    ["augeas", "augeas-libs"]:
      ensure => $augeas_version,
      before => File["/usr/share/augeas/lenses/contrib"],
  }
  package { "ruby-augeas": ensure => present }

}

class augeas::debian inherits augeas::base {

  package {
    ["augeas-lenses", "libaugeas0", "augeas-tools"]:
       ensure => $augeas_version,
       before => File["/usr/share/augeas/lenses/contrib"],
  }
  package { "libaugeas-ruby1.8": ensure => present }

}