]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/ssl/manifests/init.pp
it's an argument, not a predicate
[dsa-puppet.git] / modules / ssl / manifests / init.pp
index dc6adc3d617afc64179618f650f554d1fcb70d79..bdc8ff5f21ec9005191760119aa4ef17735a5c61 100644 (file)
@@ -9,21 +9,23 @@ class ssl {
                        ;
        }
 
-       file { '/etc/ssl/debian':
+       file { '/etc/ssl/servicecerts':
                ensure  => directory,
                mode    => '0755',
                purge   => true,
                recurse => true,
                force   => true,
-               source  => 'puppet:///files/empty/'
+               source  => 'puppet:///modules/ssl/servicecerts/',
+               notify  => Exec['make_new_service_links']
        }
-       file { '/etc/ssl/certs':
+
+       file { '/etc/ssl/debian':
                ensure  => directory,
-               source  => 'puppet:///modules/ssl/servicecerts/',
-               recurse => true,
                mode    => '0755',
-               ignore  => '*[^c][^r][^t]',
-               notify  => Exec['c_rehash /etc/ssl/certs'],
+               purge   => true,
+               recurse => true,
+               force   => true,
+               source  => 'puppet:///files/empty/'
        }
        file { '/etc/ssl/debian/certs':
                ensure => directory,
@@ -68,10 +70,23 @@ class ssl {
                require => Package['ssl-cert'],
        }
 
-       exec { 'c_rehash /etc/ssl/debian/certs':
+       exec { 'make_new_service_links':
+               command     => 'cp --symbolic-link /etc/ssl/servicecerts/* /etc/ssl/certs',
+               refreshonly => true,
+               notify      => Exec['cleanup_dead_links']
+       }
+
+       exec { 'cleanup_dead_links':
+               command     => 'find -L /etc/ssl/certs -mindepth 1 -maxdepth 1 -type l -delete',
                refreshonly => true,
+               notify      => Exec['c_rehash /etc/ssl/certs']
        }
+
        exec { 'c_rehash /etc/ssl/certs':
                refreshonly => true,
        }
+
+       exec { 'c_rehash /etc/ssl/debian/certs':
+               refreshonly => true,
+       }
 }