X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fssl%2Fmanifests%2Finit.pp;h=e8d68a4f16da090cc34e2763cbf765d32eecbfa0;hb=cb2d75d6ae0a5619f2a389f973d447425f2ef362;hp=fac2e15bc1335d867a983b0415a47616b5ecfe8a;hpb=8e6d392405a95b9f372e37e7883817232aa70f7c;p=dsa-puppet.git diff --git a/modules/ssl/manifests/init.pp b/modules/ssl/manifests/init.pp index fac2e15b..e8d68a4f 100644 --- a/modules/ssl/manifests/init.pp +++ b/modules/ssl/manifests/init.pp @@ -7,6 +7,19 @@ class ssl { 'ssl-cert': ensure => installed, ; + 'ca-certificates': + ensure => installed, + ; + } + + file { '/etc/ssl/servicecerts': + ensure => directory, + mode => '0755', + purge => true, + recurse => true, + force => true, + source => 'puppet:///modules/ssl/servicecerts/', + notify => Exec['make_new_service_links'] } file { '/etc/ssl/debian': @@ -29,6 +42,7 @@ class ssl { ensure => directory, group => ssl-cert, mode => '0750', + require => Package['ssl-cert'], } file { '/etc/ssl/debian/certs/thishost.crt': source => "puppet:///modules/ssl/clientcerts/${::fqdn}.client.crt", @@ -36,7 +50,9 @@ class ssl { } file { '/etc/ssl/debian/keys/thishost.key': source => "puppet:///modules/ssl/clientcerts/${::fqdn}.key", - mode => '0440' + mode => '0440', + group => ssl-cert, + require => Package['ssl-cert'], } file { '/etc/ssl/debian/certs/ca.crt': source => 'puppet:///modules/ssl/clientcerts/ca.crt', @@ -52,11 +68,42 @@ class ssl { } file { '/etc/ssl/debian/keys/thishost-server.key': source => "puppet:///modules/exim/certs/${::fqdn}.key", - group => ssl-cert, mode => '0440', + group => ssl-cert, + require => Package['ssl-cert'], + } + + exec { 'make_new_service_links': + command => 'cp -f --symbolic-link ../servicecerts/* .', + cwd => '/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, } + + exec { 'modify_ca_certificates_conf': + command => 'sed -i -e \'s#!mozilla/UTN_USERFirst_Hardware_Root_CA.crt#mozilla/UTN_USERFirst_Hardware_Root_CA.crt#\' /etc/ca-certificates.conf', + cwd => '/etc/ssl/certs', + onlyif => 'grep -Fqx \'!mozilla/UTN_USERFirst_Hardware_Root_CA.crt\' /etc/ca-certificates.conf', + notify => Exec['update_ca_certificates'] + } + exec { 'update_ca_certificates': + command => '/usr/sbin/update-ca-certificates', + cwd => '/etc/ssl/certs', + refreshonly => true + } + }