Puppet Class: docker::compose

Defined in:
manifests/compose.pp

Summary

install Docker Compose using the recommended curl command.

Overview

Parameters:

  • ensure (Enum[present,absent]) (defaults to: present)

    Whether to install or remove Docker Compose Valid values are absent present

  • version (Optional[String]) (defaults to: undef)

    The version of Docker Compose to install.



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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'manifests/compose.pp', line 10

class docker::compose (
  Enum[present,absent] $ensure  = present,
  Optional[String]     $version = undef,
) {
  include docker

  if $docker::manage_package {
    include docker::params

    $_version = $version ? {
      undef   => $docker::params::compose_version,
      default => $version,
    }
    if $_version and $ensure != 'absent' {
      $package_ensure = $_version
    } else {
      $package_ensure = $ensure
    }

    case $facts['os']['family'] {
      'Debian': {
        $_require = $docker::use_upstream_package_source ? {
          true  => [Apt::Source['docker'], Class['apt::update']],
          false => undef,
        }
      }
      'RedHat': {
        $_require = $docker::use_upstream_package_source ? {
          true  => Yumrepo['docker'],
          false => undef,
        }
      }
      'Windows': {
        fail('The docker compose portion of this module is not supported on Windows')
      }
      default: {
        fail('The docker compose portion of this module only works on Debian or RedHat')
      }
    }
    package { 'docker-compose-plugin':
      ensure  => $package_ensure,
      require => $_require,
    }
  }
}