X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fssl%2Fmanifests%2Finit.pp;h=af909f869dd7c621ca747129a6f2c14b97283288;hb=2f29af86b18f40bd4d62f108536e618ac64a59a0;hp=dc6adc3d617afc64179618f650f554d1fcb70d79;hpb=fe4ca797ee815fad50d10e6b06229d522a34d5cf;p=mirror%2Fdsa-puppet.git diff --git a/modules/ssl/manifests/init.pp b/modules/ssl/manifests/init.pp index dc6adc3d6..af909f869 100644 --- a/modules/ssl/manifests/init.pp +++ b/modules/ssl/manifests/init.pp @@ -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 /etc/ssl/certs -mindepth 1 -maxdepth 1 -L -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, + } }