Defined Type: docker::secrets

Defined in:
manifests/secrets.pp

Summary

Overview

Parameters:

  • ensure (Enum[present,absent]) (defaults to: 'present')
  • label (Variant[String,Array]) (defaults to: [])
  • secret_name (Optional[String]) (defaults to: undef)
  • secret_path (Optional[String]) (defaults to: undef)


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
39
40
41
42
43
44
45
46
47
# File 'manifests/secrets.pp', line 11

define docker::secrets (
  Enum[present,absent]  $ensure      = 'present',
  Variant[String,Array] $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',],
    }
  }
}