Skip to content

Commit e16eaa3

Browse files
committed
Refs #32885: Add puppet user to user_groups only if server or client certificate contains puppet path
1 parent 0ebbc74 commit e16eaa3

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

manifests/config.pp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,12 @@
7474
}
7575

7676
if $foreman::manage_user {
77+
if $foreman::puppet_ssldir in $foreman::server_ssl_key or $foreman::puppet_ssldir in $foreman::client_ssl_key {
78+
$_user_groups = $foreman::user_groups + ['puppet']
79+
} else {
80+
$_user_groups = $foreman::user_groups
81+
}
82+
7783
group { $foreman::group:
7884
ensure => 'present',
7985
}
@@ -83,7 +89,7 @@
8389
comment => 'Foreman',
8490
home => $foreman::app_root,
8591
gid => $foreman::group,
86-
groups => $foreman::user_groups,
92+
groups => unique($_user_groups),
8793
}
8894
}
8995

manifests/params.pp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
$manage_user = true
2525
$user = 'foreman'
2626
$group = 'foreman'
27-
$user_groups = ['puppet']
27+
$user_groups = []
2828
$rails_env = 'production'
2929
$version = 'present'
3030
$plugin_version = 'present'

spec/acceptance/hieradata/common.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@ foreman::server_ssl_cert: /etc/foreman-certs/certificate.pem
55
foreman::server_ssl_chain: /etc/foreman-certs/certificate.pem
66
foreman::server_ssl_crl: ""
77
foreman::server_ssl_key: /etc/foreman-certs/key.pem
8-
foreman::user_groups: []
8+
foreman::client_ssl_ca: /etc/foreman-certs/certificate.pem
9+
foreman::client_ssl_cert: /etc/foreman-certs/certificate.pem
10+
foreman::client_ssl_key: /etc/foreman-certs/key.pem

spec/classes/foreman_spec.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,19 @@
409409
it { should_not contain_class('redis::instance') }
410410
end
411411
end
412+
413+
describe 'with non-Puppet SSL certificates' do
414+
let(:params) do
415+
super().merge(
416+
server_ssl_key: '/etc/pki/localhost.key',
417+
server_ssl_cert: '/etc/pki/localhost.crt',
418+
client_ssl_key: '/etc/pki/localhost.key',
419+
client_ssl_cert: '/etc/pki/localhost.crt',
420+
)
421+
end
422+
423+
it { should contain_user('foreman').with('groups' => []) }
424+
end
412425
end
413426
end
414427
end

0 commit comments

Comments
 (0)