Added --state absent functionality to docker types

Changed types:
__docker
__docker_compose
This commit is contained in:
Dominique Roux 2016-12-29 14:36:46 +01:00
parent b444697f33
commit 95b92627aa
7 changed files with 51 additions and 33 deletions

View file

@ -20,38 +20,39 @@
os=$(cat "$__global/explorer/os")
state=$(cat "$__object/parameter/state")
case "$os" in
centos)
component="main"
centos)
component="main"
if [ -f "$__object/parameter/experimental" ]; then
component="experimental"
fi
__yum_repo docker \
--name 'Docker Repository' \
--baseurl "https://yum.dockerproject.org/repo/$component/centos/\$releasever/" \
--enabled \
--gpgcheck 1 \
--gpgkey 'https://yum.dockerproject.org/gpg' \
--state ${state}
require="__yum_repo/docker" __package docker-engine --state ${state}
;;
ubuntu)
component="main"
if [ -f "$__object/parameter/experimental" ]; then
component="experimental"
fi
export CDIST_ORDER_DEPENDENCY=on
__yum_repo docker \
--name 'Docker Repository' \
--baseurl "https://yum.dockerproject.org/repo/$component/centos/\$releasever/" \
--enabled \
--gpgcheck \
--gpgkey 'https://yum.dockerproject.org/gpg'
__package docker-engine
unset CDIST_ORDER_DEPENDENCY
;;
ubuntu)
component="main"
if [ -f "$__object/parameter/experimental" ]; then
component="experimental"
fi
__package apparmor
__package ca-certificates
__package apt-transport-https
__apt_key docker --keyid 58118E89F3A912897C070ADBF76221572C52609D
__package apparmor --state ${state}
__package ca-certificates --state ${state}
__package apt-transport-https --state ${state}
__apt_key docker --keyid 58118E89F3A912897C070ADBF76221572C52609D --state ${state}
export CDIST_ORDER_DEPENDENCY=on
__apt_source docker \
--uri https://apt.dockerproject.org/repo \
--distribution "ubuntu-$(cat "$__global/explorer/lsb_codename")" \
--state ${state} \
--component "$component"
__package docker-engine
__package docker-engine --state ${state}
unset CDIST_ORDER_DEPENDENCY
;;
debian)
@ -60,16 +61,17 @@ case "$os" in
component="experimental"
fi
__package apt-transport-https
__package ca-certificates
__package gnupg2
__apt_key docker --keyid 58118E89F3A912897C070ADBF76221572C52609D
__package apt-transport-https --state ${state}
__package ca-certificates --state ${state}
__package gnupg2 --state ${state}
__apt_key docker --keyid 58118E89F3A912897C070ADBF76221572C52609D --state ${state}
export CDIST_ORDER_DEPENDENCY=on
__apt_source docker \
--uri https://apt.dockerproject.org/repo \
--distribution "debian-$(cat "$__global/explorer/lsb_codename")" \
--state ${state} \
--component "$component"
__package docker-engine
__package docker-engine --state ${state}
unset CDIST_ORDER_DEPENDENCY
;;

View file

@ -0,0 +1 @@
present

View file

@ -0,0 +1 @@
state

View file

@ -20,9 +20,12 @@
# Variables
version="$(cat "$__object/parameter/version")"
state="$(cat "$__object/parameter/state")"
# Download docker-compose file
echo 'curl -L "https://github.com/docker/compose/releases/download/'${version}'/docker-compose-$(uname -s)-$(uname -m)" -o /tmp/docker-compose'
echo 'mv /tmp/docker-compose /usr/local/bin/docker-compose'
# Change permissions
echo 'chmod +x /usr/local/bin/docker-compose'
if [ ${state} = "present" ]; then
# Download docker-compose file
echo 'curl -L "https://github.com/docker/compose/releases/download/'${version}'/docker-compose-$(uname -s)-$(uname -m)" -o /tmp/docker-compose'
echo 'mv /tmp/docker-compose /usr/local/bin/docker-compose'
# Change permissions
echo 'chmod +x /usr/local/bin/docker-compose'
fi

View file

@ -19,6 +19,15 @@
#
#
state="$(cat "$__object/parameter/state")"
# Needed packages
__docker
__docker --state ${state}
__package curl
if [ ${state} = "absent" ]; then
__file /usr/local/bin/docker-compose --state absent
elif [ ${state} != "present" -a ${state} != "absent" ]; then
echo "Unknown state: $state_should" >&2
exit 1
fi

View file

@ -0,0 +1 @@
present

View file

@ -1 +1,2 @@
state
version