From 72c344aa6ebbadba95cbabc70593141139927aec Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Fri, 19 May 2017 15:05:32 +0300 Subject: [PATCH] Add docker module --- docker/manifests/init.pp | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 docker/manifests/init.pp diff --git a/docker/manifests/init.pp b/docker/manifests/init.pp new file mode 100644 index 0000000..06f2b5b --- /dev/null +++ b/docker/manifests/init.pp @@ -0,0 +1,46 @@ +# Install Docker. +# +class docker { + + if ! ($::operatingsystem in ["CentOS","RedHat"] and versioncmp($::operatingsystemrelease, "7") > 0) { + fail('Docker is supported only on EL 7') + } + + package { 'docker': + ensure => installed, + } -> + service { 'docker': + ensure => running, + enable => true, + } + + python::pip::install { 'docker-compose': + ensure => '1.8.1', + } + +} + + +# Load docker image. +# +define docker::image($source) { + + require docker + require gnu::tar + + file { "/usr/local/src/${name}": + ensure => present, + mode => '0644', + owner => 'root', + group => 'wheel', + source => $source, + } + + exec { "docker-load-${name}": + refreshonly => true, + path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin', + command => "/bin/sh -c 'umask 022; docker load --input /usr/local/src/${name}'", + subscribe => File["/usr/local/src/${name}"], + } + +}