X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fssl%2Fmanifests%2Finit.pp;h=2d4a140cfc004a1387057629f64951b4be5ab019;hb=c5af1344dc7bdb0050b613962ed465001ae2b2a8;hp=3696eb4561e93f64815d92856d8f19daef9c9d28;hpb=c0b229cbf217abee49528c846f93bbc908e03e0e;p=mirror%2Fdsa-puppet.git diff --git a/modules/ssl/manifests/init.pp b/modules/ssl/manifests/init.pp index 3696eb456..2d4a140cf 100644 --- a/modules/ssl/manifests/init.pp +++ b/modules/ssl/manifests/init.pp @@ -1,6 +1,4 @@ class ssl { - - $cacert = 'mozilla/UTN_USERFirst_Hardware_Root_CA.crt' $caconf = '/etc/ca-certificates.conf' package { 'openssl': @@ -14,18 +12,26 @@ class ssl { } file { '/etc/ssl/servicecerts': + ensure => link, + purge => true, + force => true, + target => '/usr/local/share/ca-certificates/debian.org', + notify => Exec['retire_debian_links'], + } + + file { '/usr/local/share/ca-certificates/debian.org': ensure => directory, source => 'puppet:///modules/ssl/servicecerts/', - mode => '0644', + mode => '0644', # this works; otherwise all files are +x purge => true, recurse => true, force => true, - notify => Exec['refresh_debian_links'], + notify => Exec['refresh_normal_hashes'], } file { '/etc/ssl/debian': ensure => directory, source => 'puppet:///files/empty/', - mode => '0644', + mode => '0644', # this works; otherwise all files are +x purge => true, recurse => true, force => true, @@ -46,7 +52,7 @@ class ssl { } file { '/etc/ssl/debian/certs/thishost.crt': source => "puppet:///modules/ssl/clientcerts/${::fqdn}.client.crt", - notify => Exec['c_rehash /etc/ssl/debian/certs'], + notify => Exec['refresh_debian_hashes'], } file { '/etc/ssl/debian/keys/thishost.key': source => "puppet:///modules/ssl/clientcerts/${::fqdn}.key", @@ -56,14 +62,14 @@ class ssl { } file { '/etc/ssl/debian/certs/ca.crt': source => 'puppet:///modules/ssl/clientcerts/ca.crt', - notify => Exec['c_rehash /etc/ssl/debian/certs'], + notify => Exec['refresh_debian_hashes'], } file { '/etc/ssl/debian/crls/ca.crl': source => 'puppet:///modules/ssl/clientcerts/ca.crl', } file { '/etc/ssl/debian/certs/thishost-server.crt': source => "puppet:///modules/exim/certs/${::fqdn}.crt", - notify => Exec['c_rehash /etc/ssl/debian/certs'], + notify => Exec['refresh_debian_hashes'], } file { '/etc/ssl/debian/keys/thishost-server.key': source => "puppet:///modules/exim/certs/${::fqdn}.key", @@ -72,25 +78,14 @@ class ssl { require => Package['ssl-cert'], } - exec { 'refresh_debian_links': - command => 'cp -f -s ../servicecerts/* .', + exec { 'retire_debian_links': + command => 'find -lname "../servicecerts/*" -exec rm {} +', cwd => '/etc/ssl/certs', refreshonly => true, - notify => Exec['delete_unused_links'], - } - exec { 'delete_unused_links': - command => 'find -L . -mindepth 1 -maxdepth 1 -type l -delete', - cwd => '/etc/ssl/certs', - refreshonly => true, - notify => Exec['refresh_normal_hashes'], # see NOTE 1 - } - exec { 'modify_configuration': - command => "sed -i -e 's#!${cacert}#${cacert}' ${caconf}", - onlyif => "grep -Fqx '!${cacert}' ${caconf}", notify => Exec['refresh_normal_hashes'], - require => Package['ca-certificates'], } - exec { 'c_rehash /etc/ssl/debian/certs': # refresh_debian_hashes + exec { 'refresh_debian_hashes': + command => 'c_rehash /etc/ssl/debian/certs', refreshonly => true, require => Package['openssl'], }