ferm::conf - merge with tor version
authorPeter Palfrader <peter@palfrader.org>
Tue, 6 Mar 2018 12:30:25 +0000 (13:30 +0100)
committerPeter Palfrader <peter@palfrader.org>
Tue, 6 Mar 2018 12:30:25 +0000 (13:30 +0100)
modules/ferm/manifests/conf.pp

index 0dffa77..602b74b 100644 (file)
@@ -1,29 +1,39 @@
-define ferm::conf ($content=undef, $source=undef, $ensure=present) {
-
-       include ferm
-
+#
+define ferm::conf (
+       $source=undef,
+       $content=undef,
+       $ensure=present,
+       $prio="xx-10",
+) {
        case $ensure {
-               present,absent: {}
-               default: { fail ( "Invald ensure `${ensure}' for ${name}" ) }
+               present: {
+                       if ! ($source or $content) {
+                               fail ( "No configuration found for ${name}" )
+                       }
+               }
+               absent:  {}
+               default: { fail ( "Unknown ensure value: '$ensure'" ) }
        }
 
        if ($source and $content) {
                fail ( "Can't define both source and content for ${name}" )
        }
 
-       $fname = "/etc/ferm/conf.d/${name}.conf"
+       $fname = "/etc/ferm/conf.d/${prio}_${name}.conf"
 
-       if $source {
+       if $content {
                file { $fname:
-                       ensure => $ensure,
-                       source => $source,
-                       notify => Service['ferm']
+                               ensure  => $ensure,
+                               mode    => '0400',
+                               content => $content,
+                               notify  => Exec["ferm restart"],
                }
-       } elsif $content {
+       } else {
                file { $fname:
-                       ensure  => $ensure,
-                       content => $content,
-                       notify => Service['ferm']
+                               ensure  => $ensure,
+                               mode    => '0400',
+                               source  => $source,
+                               notify  => Exec["ferm restart"],
                }
        }
 }