Project

General

Profile

« Previous | Next » 

Revision 433dadc5

Added by Eric Helms 27 days ago

Copy the server CA certificate with file resource

View differences:

manifests/ca.pp
String $ca_expiration = $certs::ca_expiration,
Boolean $generate = $certs::generate,
Boolean $deploy = $certs::deploy,
Optional[Stdlib::Absolutepath] $server_cert = $certs::server_cert,
Optional[Stdlib::Absolutepath] $ssl_build_dir = $certs::ssl_build_dir,
String $group = $certs::group,
String $owner = $certs::user,
String $group = $certs::group,
Stdlib::Absolutepath $katello_server_ca_cert = $certs::katello_server_ca_cert,
Stdlib::Absolutepath $ca_key = $certs::ca_key,
Stdlib::Absolutepath $ca_cert = $certs::ca_cert,
......
String $ca_key_password = $certs::ca_key_password,
Stdlib::Absolutepath $ca_key_password_file = $certs::ca_key_password_file,
) {
$server_ca_path = "${certs::ssl_build_dir}/${server_ca_name}.crt"
file { "${certs::pki_dir}/private/${default_ca_name}.pwd":
ensure => absent,
}
......
}
$default_ca = Ca[$default_ca_name]
if $server_cert {
ca { $server_ca_name:
ensure => present,
generate => $generate,
deploy => false,
custom_pubkey => $certs::server_ca_cert,
build_dir => $certs::ssl_build_dir,
if $certs::server_ca_cert {
file { $server_ca_path:
ensure => file,
source => $certs::server_ca_cert,
owner => 'root',
group => 'root',
mode => '0644',
}
} else {
ca { $server_ca_name:
ensure => present,
generate => $generate,
deploy => false,
custom_pubkey => "${certs::ssl_build_dir}/${default_ca_name}.crt",
build_dir => $certs::ssl_build_dir,
file { $server_ca_path:
ensure => file,
source => "${certs::ssl_build_dir}/${default_ca_name}.crt",
owner => 'root',
group => 'root',
mode => '0644',
}
}
if $generate {
file { "${ssl_build_dir}/KATELLO-TRUSTED-SSL-CERT":
file { "${certs::ssl_build_dir}/KATELLO-TRUSTED-SSL-CERT":
ensure => link,
target => "${ssl_build_dir}/${server_ca_name}.crt",
require => Ca[$server_ca_name],
target => $server_ca_path,
require => File[$server_ca_path],
}
}
......
file { $katello_server_ca_cert:
ensure => file,
source => "${certs::ssl_build_dir}/${server_ca_name}.crt",
source => $server_ca_path,
owner => $owner,
group => $group,
mode => '0644',
spec/acceptance/certs_spec.rb
it { should_not exist }
end
end
context 'with server CA cert' do
before(:context) do
source_path = "fixtures/example.partial.solutions-chain.pem"
dest_path = "/server-ca.crt"
scp_to(hosts, source_path, dest_path)
end
it_behaves_like 'an idempotent resource' do
let(:manifest) do
<<-PUPPET
class { 'certs':
server_ca_cert => '/server-ca.crt',
}
PUPPET
end
end
describe x509_certificate('/root/ssl-build/katello-server-ca.crt') do
it { should be_certificate }
# Doesn't have to be valid - can be expired since it's a static resource
it { should have_purpose 'CA' }
its(:issuer) { should eq('CN = Fake LE Root X1') }
its(:subject) { should eq('CN = Fake LE Intermediate X1') }
its(:keylength) { should be >= 2048 }
end
end
end

Also available in: Unified diff