X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fssl%2Fmanifests%2Finit.pp;h=9e900bec118e2f7cd8b866e225c0b5704c01fa3c;hb=c828a1b822d2987966270de951718a77b2a08511;hp=2d4a140cfc004a1387057629f64951b4be5ab019;hpb=a7487deb5304269c1fe816d451e5ad8b83327685;p=mirror%2Fdsa-puppet.git diff --git a/modules/ssl/manifests/init.pp b/modules/ssl/manifests/init.pp index 2d4a140cf..9e900bec1 100644 --- a/modules/ssl/manifests/init.pp +++ b/modules/ssl/manifests/init.pp @@ -11,6 +11,37 @@ class ssl { ensure => installed, } + file { '/etc/ssl/README': + mode => '0444', + source => 'puppet:///modules/ssl/README', + } + file { '/etc/ca-certificates.conf': + source => 'puppet:///modules/ssl/ca-certificates.conf', + notify => Exec['refresh_normal_hashes'], + } + file { '/etc/ca-certificates-debian.conf': + mode => '0444', + source => 'puppet:///modules/ssl/ca-certificates-debian.conf', + notify => Exec['refresh_ca_debian_hashes'], + } + file { '/etc/ca-certificates-global.conf': + source => 'puppet:///modules/ssl/ca-certificates-global.conf', + notify => Exec['refresh_ca_global_hashes'], + } + + file { '/etc/apt/apt.conf.d/local-ssl-ca-global': + mode => '0444', + source => 'puppet:///modules/ssl/local-ssl-ca-global', + } + + file { '/etc/ssl/certs/ssl-cert-snakeoil.pem': + ensure => absent, + notify => Exec['refresh_normal_hashes'], + } + file { '/etc/ssl/private/ssl-cert-snakeoil.key': + ensure => absent, + } + file { '/etc/ssl/servicecerts': ensure => link, purge => true, @@ -26,7 +57,24 @@ class ssl { purge => true, recurse => true, force => true, - notify => Exec['refresh_normal_hashes'], + notify => [ Exec['refresh_normal_hashes'], Exec['refresh_ca_global_hashes'] ], + } + file { '/etc/ssl/certs/README': + ensure => absent, + } + file { '/etc/ssl/ca-debian': + ensure => directory, + mode => '0755', + } + file { '/etc/ssl/ca-debian/README': + ensure => absent, + } + file { '/etc/ssl/ca-global': + ensure => directory, + mode => '0755', + } + file { '/etc/ssl/ca-global/README': + ensure => absent, } file { '/etc/ssl/debian': ensure => directory, @@ -44,22 +92,10 @@ class ssl { ensure => directory, mode => '0755', } - file { '/etc/ssl/debian/keys': - ensure => directory, - mode => '0750', - group => ssl-cert, - require => Package['ssl-cert'], - } file { '/etc/ssl/debian/certs/thishost.crt': source => "puppet:///modules/ssl/clientcerts/${::fqdn}.client.crt", notify => Exec['refresh_debian_hashes'], } - file { '/etc/ssl/debian/keys/thishost.key': - source => "puppet:///modules/ssl/clientcerts/${::fqdn}.key", - mode => '0440', - group => ssl-cert, - require => Package['ssl-cert'], - } file { '/etc/ssl/debian/certs/ca.crt': source => 'puppet:///modules/ssl/clientcerts/ca.crt', notify => Exec['refresh_debian_hashes'], @@ -71,13 +107,35 @@ class ssl { source => "puppet:///modules/exim/certs/${::fqdn}.crt", notify => Exec['refresh_debian_hashes'], } + + file { '/etc/ssl/debian/keys/thishost.key': + ensure => absent, + } file { '/etc/ssl/debian/keys/thishost-server.key': + ensure => absent, + } + file { '/etc/ssl/debian/keys': + ensure => absent, + force => true, + } + file { '/etc/ssl/private/thishost.key': + source => "puppet:///modules/ssl/clientcerts/${::fqdn}.key", + mode => '0440', + group => ssl-cert, + require => Package['ssl-cert'], + } + file { '/etc/ssl/private/thishost-server.key': source => "puppet:///modules/exim/certs/${::fqdn}.key", mode => '0440', group => ssl-cert, require => Package['ssl-cert'], } + file { '/usr/local/sbin/update-ca-certificates-dsa': + mode => '0555', + source => 'puppet:///modules/ssl/update-ca-certificates-dsa', + } + exec { 'retire_debian_links': command => 'find -lname "../servicecerts/*" -exec rm {} +', cwd => '/etc/ssl/certs', @@ -99,5 +157,25 @@ class ssl { refreshonly => true, require => Package['ca-certificates'], } + exec { 'refresh_ca_debian_hashes': + command => '/usr/local/sbin/update-ca-certificates-dsa --fresh --certsconf /etc/ca-certificates-debian.conf --localcertsdir /dev/null --etccertsdir /etc/ssl/ca-debian --hooksdir /dev/null', + refreshonly => true, + require => [ + Package['ca-certificates'], + File['/etc/ssl/ca-debian'], + File['/etc/ca-certificates-debian.conf'], + File['/usr/local/sbin/update-ca-certificates-dsa'], + ] + } + exec { 'refresh_ca_global_hashes': + command => '/usr/local/sbin/update-ca-certificates-dsa --fresh --default --certsconf /etc/ca-certificates-global.conf --etccertsdir /etc/ssl/ca-global --hooksdir /dev/null', + refreshonly => true, + require => [ + Package['ca-certificates'], + File['/etc/ssl/ca-global'], + File['/etc/ca-certificates-global.conf'], + File['/usr/local/sbin/update-ca-certificates-dsa'], + ] + } }