Skip to content

Commit faca2a2

Browse files
u2382/Mario Siciliau2382/Mario Sicilia
u2382/Mario Sicilia
authored and
u2382/Mario Sicilia
committed
A Flag to deactivate the Escaping for Enviroment Variables
1 parent 65e36c1 commit faca2a2

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

lib/puppet/parser/functions/docker_run_flags.rb

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,27 +61,38 @@ module Puppet::Parser::Functions
6161
" \\\n"
6262
end
6363

64-
multi_flags = ->(values, fmt) {
64+
multi_flags = ->(values, fmt, envescape) {
6565
filtered = [values].flatten.compact
66+
if envescape
6667
filtered.map { |val| (fmt + params_join_char) % call_function('docker::escape', [val]) }
68+
else
69+
filtered.map { |val| (fmt + params_join_char) % val }
70+
end
6771
}
6872

73+
[
74+
['-e %s', 'env'],
75+
['--env-file %s', 'env_file'],
76+
].each do |(format, key)|
77+
values = opts[key]
78+
new_flags = multi_flags.call(values, format,opts['env_escape'])
79+
flags.concat(new_flags)
80+
end
81+
6982
[
7083
['--dns %s', 'dns'],
7184
['--dns-search %s', 'dns_search'],
7285
['--expose=%s', 'expose'],
7386
['--link %s', 'links'],
7487
['--lxc-conf=%s', 'lxc_conf'],
7588
['--volumes-from %s', 'volumes_from'],
76-
['-e %s', 'env'],
77-
['--env-file %s', 'env_file'],
7889
['-p %s', 'ports'],
7990
['-l %s', 'labels'],
8091
['--add-host %s', 'hostentries'],
8192
['-v %s', 'volumes'],
8293
].each do |(format, key)|
8394
values = opts[key]
84-
new_flags = multi_flags.call(values, format)
95+
new_flags = multi_flags.call(values, format,true)
8596
flags.concat(new_flags)
8697
end
8798

manifests/run.pp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@
254254
Variant[String,Array] $custom_unless = [],
255255
Optional[String] $remain_after_exit = undef,
256256
Boolean $prepare_service_only = false,
257+
Optional[Boolean] $env_escape = true,
257258
) {
258259
include docker::params
259260

@@ -337,6 +338,7 @@
337338
restart_on_unhealthy => $restart_on_unhealthy,
338339
health_check_interval => $health_check_interval,
339340
osfamily => $facts['os']['family'],
341+
env_escape => $env_escape,
340342
}
341343
)
342344

0 commit comments

Comments
 (0)