Skip to content

Commit ebdfc35

Browse files
authored
Merge pull request #1044 from jan-win1993/systemd-dropin-config
Drop-in file systemd configuration
2 parents 377300a + 5dafd74 commit ebdfc35

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

manifests/init.pp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
# * ``running`` (default)
6565
# * ``stopped``
6666
#
67+
# @param service_override
68+
# Override the jenkins service configuration
69+
#
6770
# @param service_provider
6871
# Override ``Service[jenkins]`` resource provider
6972
#
@@ -281,6 +284,7 @@
281284
Boolean $manage_service = true,
282285
Boolean $service_enable = true,
283286
Enum['running', 'stopped'] $service_ensure = 'running',
287+
Hash[String[1], String] $service_override = {},
284288
Optional[String] $service_provider = undef,
285289
Hash $config_hash = {},
286290
Hash $plugin_hash = {},

manifests/user_setup.pp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262

6363
systemd::dropin_file { 'puppet-overrides.conf':
6464
unit => 'jenkins.service',
65-
content => epp("${module_name}/jenkins-override.epp", { 'environment' => $config_hash }),
65+
content => epp("${module_name}/jenkins-override.epp", { 'environment' => $config_hash, 'dropin_config' => $jenkins::service_override }),
6666
notify_service => true,
6767
}
6868
}

spec/classes/jenkins_config_spec.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,15 @@
2222
end
2323

2424
context 'create config' do
25-
let(:params) { { config_hash: { 'AJP_PORT' => { 'value' => '1234' } } } }
25+
let(:params) { { config_hash: { 'AJP_PORT' => { 'value' => '1234' } }, service_override: { 'WorkingDirectory' => '/example/path' } } }
2626

2727
it do
2828
is_expected.to contain_file('/etc/systemd/system/jenkins.service.d/puppet-overrides.conf').
2929
with_content <<~CONFIG
3030
[Service]
3131
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djenkins.install.runSetupWizard=false"
3232
Environment="AJP_PORT=1234"
33+
WorkingDirectory=/example/path
3334
CONFIG
3435
end
3536
end

templates/jenkins-override.epp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
<%| Hash[String, Struct[{value => Any}]] $environment |-%>
1+
<%- | Hash[String, Struct[{value => Any}]] $environment,
2+
Hash[String[1], String] $dropin_config = {}
3+
| -%>
24
[Service]
35
<% $environment.each |$key, $entry| { -%>
46
Environment="<%= $key %>=<%= $entry['value'] %>"
57
<% } -%>
8+
<% $dropin_config.each |$key, $value| { -%>
9+
<%= $key %>=<%= $value %>
10+
<% } -%>

0 commit comments

Comments
 (0)