Use update-ca-certificates to update ca-global on stretch and later
[mirror/dsa-puppet.git] / modules / ssl / manifests / init.pp
index 4a629fb..21e51e6 100644 (file)
@@ -1,6 +1,4 @@
 class ssl {
-       $caconf = '/etc/ca-certificates.conf'
-
        package { 'openssl':
                ensure   => installed,
        }
@@ -11,7 +9,7 @@ class ssl {
                ensure   => installed,
        }
 
-       if $::hostname == 'godard' {
+       if has_role('insecure_ssl') {
                $extra_ssl_certs_flags = ' --default'
                $ssl_certs_config = 'puppet:///modules/ssl/ca-certificates-global.conf'
        } else {
@@ -29,7 +27,7 @@ class ssl {
        }
        file { '/etc/ca-certificates-debian.conf':
                mode    => '0444',
-               source => 'puppet:///modules/ssl/ca-certificates-debian.conf',
+               source => 'puppet:///modules/ssl/ca-certificates.conf',
                notify  => Exec['refresh_ca_debian_hashes'],
        }
        file { '/etc/ca-certificates-global.conf':
@@ -39,7 +37,7 @@ class ssl {
 
        file { '/etc/apt/apt.conf.d/local-ssl-ca-global':
                mode   => '0444',
-               source => 'puppet:///modules/ssl/local-ssl-ca-global',
+               content => template('ssl/local-ssl-ca-global.erb'),
        }
 
        file { '/etc/ssl/certs/ssl-cert-snakeoil.pem':
@@ -51,17 +49,11 @@ 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'],
+               ensure   => absent,
        }
 
        file { '/usr/local/share/ca-certificates/debian.org':
-               ensure   => directory,
-               source   => 'puppet:///modules/ssl/servicecerts/',
-               mode     => '0644', # this works; otherwise all files are +x
+               ensure   => absent,
                purge    => true,
                recurse  => true,
                force    => true,
@@ -101,18 +93,18 @@ class ssl {
                mode    => '0755',
        }
        file { '/etc/ssl/debian/certs/thishost.crt':
-               source  => "puppet:///modules/ssl/clientcerts/${::fqdn}.client.crt",
+               content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_clientcerts_dir"]) + "/" + @fqdn + ".client.crt") %>'),
                notify  => Exec['refresh_debian_hashes'],
        }
        file { '/etc/ssl/debian/certs/ca.crt':
-               source  => 'puppet:///modules/ssl/clientcerts/ca.crt',
+               content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_clientcerts_dir"]) + "/ca.crt") %>'),
                notify  => Exec['refresh_debian_hashes'],
        }
        file { '/etc/ssl/debian/crls/ca.crl':
-               source  => 'puppet:///modules/ssl/clientcerts/ca.crl',
+               content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_clientcerts_dir"]) + "/ca.crl") %>'),
        }
        file { '/etc/ssl/debian/certs/thishost-server.crt':
-               source  => "puppet:///modules/exim/certs/${::fqdn}.crt",
+               content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_certs_dir"]) + "/" + @fqdn + ".crt") %>'),
                notify  => Exec['refresh_debian_hashes'],
        }
 
@@ -127,13 +119,13 @@ class ssl {
                force    => true,
        }
        file { '/etc/ssl/private/thishost.key':
-               source  => "puppet:///modules/ssl/clientcerts/${::fqdn}.key",
+               content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_clientcerts_dir"]) + "/" + @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",
+               content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.auto_certs_dir"]) + "/" + @fqdn + ".key") %>'),
                mode    => '0440',
                group   => ssl-cert,
                require => Package['ssl-cert'],
@@ -153,12 +145,6 @@ class ssl {
                $updatecacerts = $updatecacertsdsa
        }
 
-       exec { 'retire_debian_links':
-               command     => 'find -lname "../servicecerts/*" -exec rm {} +',
-               cwd         => '/etc/ssl/certs',
-               refreshonly => true,
-               notify      => Exec['refresh_normal_hashes'],
-       }
        exec { 'refresh_debian_hashes':
                command     => 'c_rehash /etc/ssl/debian/certs',
                refreshonly => true,