You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Previously, a manifest containing nested Deferred values did not mark
the corresponding parameter as sensitive, resulting in the following:
$ cat manifest.pp
$vars = {'token' => Deferred('new', [Sensitive, "password"])}
file { '/tmp/a.sh':
ensure => file,
content => Deferred('inline_epp', ['<%= $token %>', $vars])
}
$ truncate --size 0 /tmp/a.sh
$ puppet apply --show_diff manifest.pp
Notice: Compiled catalog for localhost in environment production in 0.01 seconds
Notice: /Stage[main]/Main/File[/tmp/a.sh]/content:
--- /tmp/a.sh 2024-07-03 17:30:37.024543314 -0700
+++ /tmp/puppet-file20240703-1784698-2cu5s9 2024-07-03 17:30:41.880572413 -0700
@@ -0,0 +1 @@
+password
\ No newline at end of file
The issue occurred because we were only checking if the outermost DeferredValue
contained any Sensitive arguments, in this case the arguments passed to
`inline_epp` function, but not the `password` passed to the `new` function.
This is not an issue when deferred values are preprocessed, because Deferred
values are completely resolved and we can check if resolved value is Sensitive.
0 commit comments