forked from puppetlabs/puppetlabs-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsecrets.pp
38 lines (32 loc) · 1.1 KB
/
secrets.pp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# == Define: docker::secrets
define docker::secrets (
Optional[Pattern[/^present$|^absent$/]] $ensure = 'present',
Variant[String,Array,Undef] $label = [],
Optional[String] $secret_name = undef,
Optional[String] $secret_path = undef,
){
include docker::params
$docker_command = "${docker::params::docker_command} secret"
if $ensure == 'present'{
$docker_secrets_flags = docker_secrets_flags ({
ensure => $ensure,
label => $label,
secret_name => $secret_name,
secret_path => $secret_path,
})
$exec_secret = "${docker_command} ${docker_secrets_flags}"
$unless_secret = "${docker_command} inspect ${secret_name}"
exec { "${title} docker secret create":
command => $exec_secret,
unless => $unless_secret,
path => ['/bin', '/usr/bin'],
}
}
if $ensure == 'absent'{
exec { "${title} docker secret rm":
command => "${docker_command} rm ${secret_name}",
onlyif => "${docker_command} inspect ${secret_name}",
path => ['/bin', '/usr/bin'],
}
}
}