diff --git a/cdist/conf/explorer/os_release b/cdist/conf/explorer/os_release
new file mode 100644
index 00000000..cfc01004
--- /dev/null
+++ b/cdist/conf/explorer/os_release
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# 2018 Adam Dej (dejko.a at gmail.com)
+#
+# This file is part of cdist.
+#
+# cdist is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cdist is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cdist. If not, see .
+#
+#
+
+# See os-release(5) and http://0pointer.de/blog/projects/os-release
+
+set +e
+
+cat /etc/os-release || cat /usr/lib/os-release || true
diff --git a/cdist/conf/type/__docker/man.rst b/cdist/conf/type/__docker/man.rst
index 70b92cc7..5cb28ee1 100644
--- a/cdist/conf/type/__docker/man.rst
+++ b/cdist/conf/type/__docker/man.rst
@@ -3,12 +3,12 @@ cdist-type__docker(7)
NAME
----
-cdist-type__docker - install docker-engine
+cdist-type__docker - install Docker CE
DESCRIPTION
-----------
-Installs latest docker-engine package from dockerproject.org.
+Installs latest Docker Community Edition package.
REQUIRED PARAMETERS
@@ -18,16 +18,13 @@ None.
OPTIONAL PARAMETERS
-------------------
-None.
+state
+ 'present' or 'absent', defaults to 'present'
BOOLEAN PARAMETERS
------------------
-experimental
- Install the experimental docker-engine package instead of the latest stable release.
-
-state
- 'present' or 'absent', defaults to 'present'
+None.
EXAMPLES
@@ -38,9 +35,6 @@ EXAMPLES
# Install docker
__docker
- # Install experimental
- __docker --experimental
-
# Remove docker
__docker --state absent
diff --git a/cdist/conf/type/__docker/manifest b/cdist/conf/type/__docker/manifest
index 1b1b1fb7..d501a9f1 100755
--- a/cdist/conf/type/__docker/manifest
+++ b/cdist/conf/type/__docker/manifest
@@ -24,57 +24,37 @@ state=$(cat "$__object/parameter/state")
case "$os" in
centos)
- component="main"
- if [ -f "$__object/parameter/experimental" ]; then
- component="experimental"
+ if (source "$__global/explorer/os_release" && [ "${VERSION_ID}" = "7" ]); then
+ __yum_repo docker-ce-stable \
+ --name 'Docker CE Stable' \
+ --baseurl "https://download.docker.com/linux/centos/7/\$basearch/stable" \
+ --enabled \
+ --gpgcheck 1 \
+ --gpgkey 'https://download.docker.com/linux/centos/gpg' \
+ --state ${state}
+ require="__yum_repo/docker-ce-stable" __package docker-ce --state ${state}
+ else
+ echo "CentOS version 7 is required!" >&2
+ exit 1
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"
+ ubuntu|debian)
+ if [ "${state}" = "present" ]; then
+ __package apt-transport-https
+ __package ca-certificates
+ __package gnupg2
fi
- __package apparmor --state ${state}
- __package ca-certificates --state ${state}
- __package apt-transport-https --state ${state}
- __apt_key docker --keyid 58118E89F3A912897C070ADBF76221572C52609D --state ${state}
+ __apt_key_uri docker --name "Docker Release (CE deb) " \
+ --uri "https://download.docker.com/linux/${os}/gpg" --state ${state}
export CDIST_ORDER_DEPENDENCY=on
__apt_source docker \
- --uri https://apt.dockerproject.org/repo \
- --distribution "ubuntu-$(cat "$__global/explorer/lsb_codename")" \
+ --uri "https://download.docker.com/linux/${os}" \
+ --distribution "$(cat "$__global/explorer/lsb_codename")" \
--state ${state} \
- --component "$component"
- __package docker-engine --state ${state}
+ --component "stable"
+ __package docker-ce --state ${state}
unset CDIST_ORDER_DEPENDENCY
;;
- debian)
- component="main"
- if [ -f "$__object/parameter/experimental" ]; then
- component="experimental"
- fi
-
- __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 --state ${state}
- unset CDIST_ORDER_DEPENDENCY
-
- ;;
*)
echo "Your operating system ($os) is currently not supported by this type (${__type##*/})." >&2
echo "Please contribute an implementation for it if you can." >&2
diff --git a/cdist/conf/type/__docker/parameter/boolean b/cdist/conf/type/__docker/parameter/boolean
deleted file mode 100644
index 9839eb20..00000000
--- a/cdist/conf/type/__docker/parameter/boolean
+++ /dev/null
@@ -1 +0,0 @@
-experimental