Skip to content

Commit c56b5c8

Browse files
committed
Let deploy control existence of deployed certs for iop_advisor_engine
1 parent dc129fc commit c56b5c8

2 files changed

Lines changed: 61 additions & 26 deletions

File tree

manifests/iop_advisor_engine.pp

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -36,35 +36,45 @@
3636
build_dir => $certs::ssl_build_dir,
3737
}
3838

39-
if $deploy {
40-
$cert_directory = '/etc/iop-advisor-engine'
39+
$cert_directory = '/etc/iop-advisor-engine'
4140

42-
$server_cert = "${cert_directory}/server.cert"
43-
$server_key = "${cert_directory}/server.key"
44-
$server_ca_cert = $certs::katello_server_ca_cert
41+
$server_cert = "${cert_directory}/server.cert"
42+
$server_key = "${cert_directory}/server.key"
43+
$server_ca_cert = $certs::katello_server_ca_cert
4544

46-
$client_cert = $certs::foreman_proxy::foreman_ssl_cert
47-
$client_key = $certs::foreman_proxy::foreman_ssl_key
48-
$client_ca_cert = $certs::foreman_proxy::foreman_ssl_ca_cert
45+
$client_cert = $certs::foreman_proxy::foreman_ssl_cert
46+
$client_key = $certs::foreman_proxy::foreman_ssl_key
47+
$client_ca_cert = $certs::foreman_proxy::foreman_ssl_ca_cert
4948

50-
file { $cert_directory:
51-
ensure => directory,
52-
mode => '0755',
53-
owner => $owner,
54-
group => $group,
55-
}
49+
$directory_ensure = $deploy ? {
50+
true => 'directory',
51+
false => 'absent',
52+
}
53+
54+
$keypair_ensure = $deploy ? {
55+
true => 'present',
56+
false => 'absent',
57+
}
58+
59+
file { $cert_directory:
60+
ensure => $directory_ensure,
61+
mode => '0755',
62+
owner => $owner,
63+
group => $group,
64+
}
5665

57-
certs::keypair { $server_cert_name:
58-
source_dir => "${certs::ssl_build_dir}/${hostname}",
59-
key_file => $server_key,
60-
key_owner => $owner,
61-
key_group => $group,
62-
key_mode => $private_key_mode,
63-
cert_file => $server_cert,
64-
cert_owner => $owner,
65-
cert_group => $group,
66-
cert_mode => $public_key_mode,
67-
require => Cert[$server_cert_name],
68-
}
66+
certs::keypair { $server_cert_name:
67+
source_dir => "${certs::ssl_build_dir}/${hostname}",
68+
key_ensure => $keypair_ensure,
69+
key_file => $server_key,
70+
key_owner => $owner,
71+
key_group => $group,
72+
key_mode => $private_key_mode,
73+
cert_ensure => $keypair_ensure,
74+
cert_file => $server_cert,
75+
cert_owner => $owner,
76+
cert_group => $group,
77+
cert_mode => $public_key_mode,
78+
require => Cert[$server_cert_name],
6979
}
7080
}

spec/acceptance/iop_advisor_engine_spec.rb

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,4 +108,29 @@ class { 'certs::iop_advisor_engine':
108108
it { should_not exist }
109109
end
110110
end
111+
112+
context 'with generate false and deploy false' do
113+
it_behaves_like 'an idempotent resource' do
114+
let(:manifest) do
115+
<<-PUPPET
116+
class { 'certs::iop_advisor_engine':
117+
generate => false,
118+
deploy => false
119+
}
120+
PUPPET
121+
end
122+
end
123+
124+
describe file('/etc/iop-advisor-engine') do
125+
it { should_not exist }
126+
end
127+
128+
describe file('/etc/iop-advisor-engine/server.cert') do
129+
it { should_not exist }
130+
end
131+
132+
describe file('/etc/iop-advisor-engine/server.key') do
133+
it { should_not exist }
134+
end
135+
end
111136
end

0 commit comments

Comments
 (0)