OSDN Git Service

adds docker-ce-18.09 support.
[metasearch/grid-chef-repo.git] / cookbooks / docker-grid / attributes / default.rb
index 50afc54..fd917d0 100644 (file)
@@ -17,6 +17,8 @@
 # limitations under the License.
 #
 
+::Chef::Node::Attribute.send(:include, DockerGrid::Helper)
+
 platform = node['platform']
 
 default['docker-grid']['install_flavor'] = 'dockerproject'  # or 'os-repository'
@@ -57,8 +59,9 @@ default['docker-grid']['compose']['skip_setup'] = false
 #   os-repository (Ubuntu): http://packages.ubuntu.com/search?keywords=docker-compose&searchon=names
 #   os-repository (CentOS): none.
 default['docker-grid']['compose']['auto_upgrade'] = false
-# latest: 'https://github.com/docker/compose/releases/download/1.17.1'
-default['docker-grid']['compose']['release_base_url'] = 'https://github.com/docker/compose/releases/download/1.9.0'
+# latest: 'https://github.com/docker/compose/releases/download/1.22.0'
+default['docker-grid']['compose']['version'] = '1.21.2'
+default['docker-grid']['compose']['release_base_url'] = "https://github.com/docker/compose/releases/download/#{node['docker-grid']['compose']['version']}"
 default['docker-grid']['compose']['release_url'] = "#{node['docker-grid']['compose']['release_base_url']}/docker-compose-#{node['kernel']['name']}-#{node['kernel']['machine']}"
 default['docker-grid']['compose']['home_dir'] = '/opt/docker-compose'
 default['docker-grid']['compose']['app_dir'] = "#{node['docker-grid']['compose']['home_dir']}/app"
@@ -86,13 +89,21 @@ default['docker-grid']['dind-compose']['config'] = {
 }
 
 default['docker-grid']['engine']['skip_setup'] = false
+default['docker-grid']['engine']['autopilot'] = {
+  'enabled' => false,
+  'log_dir' => '/var/log',
+  'containers_prune_period' => '5  */4 * * *',
+  'images_prune_period'     => '10 */4 * * *',
+  'volumes_prune_period'    => '15 */4 * * *',
+}
+
 # dockerproject: 18.06.0.ce-3, 18.03.1.ce-1, 17.12.1.ce-1, 1.13.1-1
 # os-repository: yum list docker
 #   http://mirror.centos.org/centos/7.3.1611/extras/x86_64/Packages/
 default['docker-grid']['engine']['version_on_centos'] = '17.12.1.ce-1'
-# dockerproject: 18.06.0~ce~3-0, 18.03.1~ce-0, 17.12.1~ce-0, 1.13.1-0
+# dockerproject: 5:18.09.0~3-0, 18.06.1~ce~3-0, 18.03.1~ce-0, 17.12.1~ce-0, 1.13.1-0
 default['docker-grid']['engine']['version_on_debian'] = '17.12.1~ce-0'
-# dockerproject: 18.06.0~ce~3-0, 18.03.1~ce-0, 17.12.1~ce-0
+# dockerproject: 5:18.09.0~3-0, 18.06.1~ce~3-0, 18.03.1~ce-0, 17.12.1~ce-0
 # os-repository: http://packages.ubuntu.com/search?keywords=docker.io&searchon=names
 default['docker-grid']['engine']['version_on_ubuntu'] = '17.12.1~ce-0'
 
@@ -101,42 +112,25 @@ case platform
 when 'centos', 'redhat'
   version_on_centos = node['docker-grid']['engine']['version_on_centos']
   if !version_on_centos.nil? && !version_on_centos.empty? && version_on_centos != 'latest'
-    suffix = ''
-    if Gem::Version.create(version_on_centos) < Gem::Version.create('18.06.0')
-      suffix = ".#{node['platform']}"
-    end
-    version_on_centos = "#{version_on_centos}.el#{node['platform_version'].to_i}#{suffix}"
+    version_on_centos = docker_full_ver(node, version_on_centos)
   end
 when 'debian'
   version_on_debian = node['docker-grid']['engine']['version_on_debian']
-  if !version_on_debian.nil? && !version_on_debian.empty? && version_on_debian != 'latest'
-    version_on_debian = \
-      if node['docker-grid']['install_flavor'] == 'dockerproject'
-        if Gem::Version.create(version_on_debian.tr('~', '-')) >= Gem::Version.create('1.12.4-0')
-          "#{version_on_debian}~debian-#{node['lsb']['codename']}"
-        else
-          "#{version_on_debian}~#{node['lsb']['codename']}"
-        end
-      end
+  if !version_on_debian.nil? && !version_on_debian.empty? && version_on_debian != 'latest' \
+    && node['docker-grid']['install_flavor'] == 'dockerproject'
+    version_on_debian = docker_full_ver(node, version_on_debian)
   end
 when 'ubuntu'
   version_on_ubuntu = node['docker-grid']['engine']['version_on_ubuntu']
-  if !version_on_ubuntu.nil? && !version_on_ubuntu.empty? && version_on_ubuntu != 'latest'
-    version_on_ubuntu = \
-      if node['docker-grid']['install_flavor'] == 'dockerproject'
-        if Gem::Version.create(version_on_ubuntu.tr('~', '-')) >= Gem::Version.create('1.12.4-0')
-          "#{version_on_ubuntu}~ubuntu-#{node['lsb']['codename']}"
-        else
-          "#{version_on_ubuntu}~#{node['lsb']['codename']}"
-        end
-        # else
-        # e.g. 1.12.3-0ubuntu4~16.10.2, 1.12.3-0ubuntu4~16.04.2
-        # version_on_ubuntu
-      end
+  if !version_on_ubuntu.nil? && !version_on_ubuntu.empty? && version_on_ubuntu != 'latest' \
+    && node['docker-grid']['install_flavor'] == 'dockerproject'
+    version_on_ubuntu = docker_full_ver(node, version_on_ubuntu)
   end
 end
 
 # '' (empty) or 'latest' version -> latest version
+# Note: if you would OVERRIDE the ['docker-grid']['engine']['version'] attribute ONCE,
+#       the ['docker-grid']['engine']['version_on_*'] attributes are IGNORED.
 default['docker-grid']['engine']['version'] = node.value_for_platform(
   ['centos', 'redhat'] => {
     'default' => version_on_centos,
@@ -187,6 +181,11 @@ rootdirectory = node.value_for_platform(
     'default' => '/var/lib/docker-registry',
   }
 )
+default['docker-grid']['registry']['server']['autopilot'] = {
+  'enabled' => false,
+  'log_dir' => '/var/log',
+  'wait_time' => '120s',
+}
 default['docker-grid']['registry']['server']['config'] = {
   'version' => '0.1',
   'log' => {
@@ -223,6 +222,13 @@ default['docker-grid']['registry']['server']['config'] = {
     },
   },
 }
+
+default['docker-grid']['registry']['docker-compose']['autopilot'] = {
+  'enabled' => false,
+  'log_dir' => '/var/log',
+  'wait_time' => '180s',
+  'docker-compose_opts' => '--no-ansi',
+}
 default['docker-grid']['registry']['docker-compose']['app_dir'] = "#{node['docker-grid']['compose']['app_dir']}/registry"
 # ./docker-compose.yml
 default['docker-grid']['registry']['docker-compose']['config_format_version'] = '1'