Grid環境構築用のChefリポジトリです。
リビジョン | 1a55847141cef70a220ff387e438bda347627a7d (tree) |
---|---|
日時 | 2017-11-23 14:25:35 |
作者 | whitestar <whitestar@user...> |
コミッター | whitestar |
adds the Docker project new repository support.
@@ -1,2 +1,4 @@ | ||
1 | 1 | ~FC001 |
2 | 2 | ~FC014 |
3 | +~FC019 | |
4 | +~FC038 |
@@ -1,5 +1,9 @@ | ||
1 | 1 | # docker-grid CHANGELOG |
2 | 2 | |
3 | +0.5.4 | |
4 | +----- | |
5 | +- adds the Docker project new repository support (Debian, Ubuntu, RHEL and CentOS). | |
6 | + | |
3 | 7 | 0.5.3 |
4 | 8 | ----- |
5 | 9 | - improves server key pair deployment for a Docker registry service. |
@@ -36,14 +36,15 @@ This cookbook sets up Docker engine etc. | ||
36 | 36 | |Key|Type|Description, example|Default| |
37 | 37 | |:--|:--|:--|:--| |
38 | 38 | |`['docker-grid']['install_flavor']`|String|`'dockerproject'` or `'os-repository'`|`'dockerproject'`| |
39 | -|`['docker-grid']['dockerproject']['package_name']`|String||`'docker-engine'`| | |
40 | -|`['docker-grid']['apt_repo']['url']`|String||`'https://apt.dockerproject.org/repo'`| | |
41 | -|`['docker-grid']['apt_repo']['keyserver']`|String||`'hkp://p80.pool.sks-keyservers.net:80'`| | |
42 | -|`['docker-grid']['apt_repo']['recv-keys']`|String||`'58118E89F3A912897C070ADBF76221572C52609D'`| | |
39 | +|`['docker-grid']['dockerproject']['enable_new_repo']`|Boolean|flag to use the new repository.|`false`| | |
40 | +|`['docker-grid']['dockerproject']['package_name']`|String|If the `'enable_new_repo'` is `true`, `'docker-ce'` will be automatically set.|`'docker-engine'`| | |
41 | +|`['docker-grid']['apt_repo']['url']`|String|If the `'enable_new_repo'` is `true`, the new repository URL will be automatically set.|`'https://apt.dockerproject.org/repo'`| | |
42 | +|`['docker-grid']['apt_repo']['keyserver']`|String|for the old repository only.|`'hkp://p80.pool.sks-keyservers.net:80'`| | |
43 | +|`['docker-grid']['apt_repo']['recv-keys']`|String|for the old repository only.|`'58118E89F3A912897C070ADBF76221572C52609D'`| | |
43 | 44 | |`['docker-grid']['apt_repo']['override_apt_line']`|String|If you set this attribute, apt-line settings with the `['docker-grid']['apt_repo']['url']` attribute is overrridden. e.g. `'deb https://apt.dockerproject.org/repo ubuntu-xenial main'`|`''`| |
44 | -|`['docker-grid']['yum_repo']['baseurl']`|String||`'https://yum.dockerproject.org/repo/main/centos/$releasever/'`| | |
45 | -|`['docker-grid']['yum_repo']['gpgcheck']`|String|`'0'`: disabled, `'1'`: enabled.|`'1'`| | |
46 | -|`['docker-grid']['yum_repo']['gpgkey']`|String||`'https://yum.dockerproject.org/gpg'`| | |
45 | +|`['docker-grid']['yum_repo']['baseurl']`|String|for the old repository only.|`'https://yum.dockerproject.org/repo/main/centos/$releasever/'`| | |
46 | +|`['docker-grid']['yum_repo']['gpgcheck']`|String|for the old repository only. `'0'`: disabled, `'1'`: enabled.|`'1'`| | |
47 | +|`['docker-grid']['yum_repo']['gpgkey']`|String|for the old repository only.|`'https://yum.dockerproject.org/gpg'`| | |
47 | 48 | |`['docker-grid']['compose']['install_flavor']`|String|`'dockerproject'` or `'os-repository'`|`'dockerproject'`| |
48 | 49 | |`['docker-grid']['compose']['skip_setup']`|Boolean||`false`| |
49 | 50 | |`['docker-grid']['compose']['auto_upgrade']`|Boolean|upgrade/reinstall the docker-compose automatically.|`false`| |
@@ -17,14 +17,29 @@ | ||
17 | 17 | # limitations under the License. |
18 | 18 | # |
19 | 19 | |
20 | +platform = node['platform'] | |
21 | + | |
20 | 22 | default['docker-grid']['install_flavor'] = 'dockerproject' # or 'os-repository' |
21 | -default['docker-grid']['dockerproject']['package_name'] = 'docker-engine' | |
23 | +default['docker-grid']['dockerproject']['enable_new_repo'] = false | |
24 | +# read only | |
25 | +force_override['docker-grid']['dockerproject']['apt_new_repo_url'] = "https://download.docker.com/linux/#{platform}" | |
26 | +force_override['docker-grid']['dockerproject']['apt_old_repo_url'] = 'https://apt.dockerproject.org/repo' | |
27 | +default['docker-grid']['dockerproject']['package_name'] \ | |
28 | + = node['docker-grid']['dockerproject']['enable_new_repo'] ? 'docker-ce' : 'docker-engine' | |
29 | +apt_repo_url = \ | |
30 | + if node['docker-grid']['dockerproject']['enable_new_repo'] | |
31 | + node['docker-grid']['dockerproject']['apt_new_repo_url'] | |
32 | + else | |
33 | + node['docker-grid']['dockerproject']['apt_old_repo_url'] | |
34 | + end | |
22 | 35 | default['docker-grid']['apt_repo'] = { |
23 | - 'url' => 'https://apt.dockerproject.org/repo', | |
36 | + 'url' => apt_repo_url, | |
37 | + 'override_apt_line' => '', # e.g. 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' | |
38 | + # for old repository | |
24 | 39 | 'keyserver' => 'hkp://p80.pool.sks-keyservers.net:80', |
25 | 40 | 'recv-keys' => '58118E89F3A912897C070ADBF76221572C52609D', |
26 | - 'override_apt_line' => '', # e.g. 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' | |
27 | 41 | } |
42 | +# Old yum repository | |
28 | 43 | default['docker-grid']['yum_repo'] = { |
29 | 44 | 'baseurl' => 'https://yum.dockerproject.org/repo/main/centos/$releasever/', |
30 | 45 | 'gpgcheck' => '1', |
@@ -54,7 +69,7 @@ default['docker-grid']['engine']['version_on_debian'] = '17.03.1~ce-0' | ||
54 | 69 | default['docker-grid']['engine']['version_on_ubuntu'] = '1.11.2-0' |
55 | 70 | |
56 | 71 | # '' (empty) version -> latest version |
57 | -case node['platform'] | |
72 | +case platform | |
58 | 73 | when 'centos', 'redhat' |
59 | 74 | version_on_centos = node['docker-grid']['engine']['version_on_centos'] |
60 | 75 | if !version_on_centos.nil? && !version_on_centos.empty? |
@@ -45,11 +45,13 @@ app_dir = node['docker-grid']['compose']['app_dir'] | ||
45 | 45 | case install_flavor |
46 | 46 | when 'dockerproject' |
47 | 47 | docker_compose_path = '/usr/local/bin/docker-compose' |
48 | + excepted_ver = node['docker-grid']['compose']['release_url'].match(/(\d+\.\d+.\d+)/)[1] | |
48 | 49 | |
49 | 50 | execute 'install_docker_compose' do |
50 | 51 | user 'root' |
51 | 52 | command "curl -L \"#{node['docker-grid']['compose']['release_url']}\" -o #{docker_compose_path} && chmod +x #{docker_compose_path}" |
52 | 53 | action :run |
54 | + not_if "#{docker_compose_path} -v | grep #{excepted_ver}," | |
53 | 55 | not_if { ::File.exist?(docker_compose_path) } unless node['docker-grid']['compose']['auto_upgrade'] |
54 | 56 | end |
55 | 57 | when 'os-repository' |
@@ -19,11 +19,23 @@ | ||
19 | 19 | |
20 | 20 | # https://dcos.io/docs/1.8/administration/installing/custom/system-requirements/ |
21 | 21 | |
22 | -install_flavor = node['docker-grid']['install_flavor'] | |
23 | 22 | platform = node['platform'] |
24 | 23 | platform_family = node['platform_family'] |
25 | 24 | platform_version = node['platform_version'] |
26 | 25 | |
26 | +install_flavor = node['docker-grid']['install_flavor'] | |
27 | +override_apt_line = node['docker-grid']['apt_repo']['override_apt_line'] | |
28 | +if !override_apt_line.nil? && !override_apt_line.empty? \ | |
29 | + && override_apt_line.include?(node['docker-grid']['dockerproject']['apt_new_repo_url']) | |
30 | + Chef::Log.warn('This docker-grid::engine recipe uses the Docker new repository by the `override_apt_line` attribute.') | |
31 | + node.force_override['docker-grid']['dockerproject']['enable_new_repo'] = true | |
32 | +end | |
33 | +enable_new_repo = node['docker-grid']['dockerproject']['enable_new_repo'] | |
34 | +docker_ver = node['docker-grid']['engine']['version'] | |
35 | +docker_ver = '' if docker_ver.nil? | |
36 | +storage_driver = node['docker-grid']['engine']['storage-driver'] | |
37 | +userns_remap = node['docker-grid']['engine']['userns-remap'] | |
38 | + | |
27 | 39 | if node['docker-grid']['engine']['skip_setup'] |
28 | 40 | log 'Skip the Docker Engine setup.' |
29 | 41 | return |
@@ -32,9 +44,6 @@ end | ||
32 | 44 | ::Chef::Recipe.send(:include, PlatformUtils::Helper) |
33 | 45 | ::Chef::Recipe.send(:include, PlatformUtils::VirtUtils) |
34 | 46 | |
35 | -docker_ver = node['docker-grid']['engine']['version'] | |
36 | -docker_ver = '' if docker_ver.nil? | |
37 | - | |
38 | 47 | [ |
39 | 48 | 'bridge-utils', |
40 | 49 | ].each {|pkg| |
@@ -61,8 +70,6 @@ if shell_out("cat /etc/mtab | grep -E '\s+/\s+zfs\s+'").exitstatus.zero? | ||
61 | 70 | end |
62 | 71 | end |
63 | 72 | |
64 | -storage_driver = node['docker-grid']['engine']['storage-driver'] | |
65 | - | |
66 | 73 | if storage_driver == 'overlay2' |
67 | 74 | if !docker_ver.empty? && Gem::Version.create(docker_ver.tr('~', '-')) < Gem::Version.create('1.12') |
68 | 75 | # tr('~', '-') for Ubuntu. |
@@ -71,7 +78,6 @@ if storage_driver == 'overlay2' | ||
71 | 78 | end |
72 | 79 | load_kernel_module('overlay') if storage_driver =~ /overlay2?/ |
73 | 80 | |
74 | -userns_remap = node['docker-grid']['engine']['userns-remap'] | |
75 | 81 | if !userns_remap.nil? && !userns_remap.empty? |
76 | 82 | if !docker_ver.empty? && Gem::Version.create(docker_ver.tr('~', '-')) < Gem::Version.create('1.10') |
77 | 83 | # tr('~', '-') for Ubuntu. |
@@ -106,37 +112,71 @@ end | ||
106 | 112 | |
107 | 113 | case platform_family |
108 | 114 | when 'rhel' |
115 | + if storage_driver == 'devicemapper' | |
116 | + [ | |
117 | + #'yum-utils', | |
118 | + 'device-mapper-persistent-data', | |
119 | + 'lvm2', | |
120 | + ].each {|pkg| | |
121 | + resources(package: pkg) rescue package pkg do | |
122 | + action :install | |
123 | + end | |
124 | + } | |
125 | + end | |
126 | + | |
109 | 127 | if install_flavor == 'dockerproject' |
110 | 128 | # https://dcos.io/docs/1.8/administration/installing/custom/system-requirements/install-docker-centos/ |
111 | - template '/etc/yum.repos.d/docker.repo' do | |
112 | - source 'etc/yum.repos.d/docker.repo' | |
113 | - owner 'root' | |
114 | - group 'root' | |
115 | - mode '0644' | |
129 | + old_repo_action = nil | |
130 | + new_repo_action = nil | |
131 | + pkgs = nil | |
132 | + if enable_new_repo | |
133 | + old_repo_action = :delete | |
134 | + new_repo_action = :create | |
135 | + pkgs = [ | |
136 | + 'docker-ce', | |
137 | + ] | |
138 | + else | |
139 | + old_repo_action = :create | |
140 | + new_repo_action = :delete | |
141 | + pkgs = [ | |
142 | + 'docker-engine-selinux', | |
143 | + 'docker-engine', | |
144 | + ] | |
116 | 145 | end |
117 | 146 | |
118 | 147 | [ |
148 | + 'docker.repo', | |
149 | + 'docker-ce.repo', | |
150 | + ].each {|repo_file| | |
151 | + template "/etc/yum.repos.d/#{repo_file}" do | |
152 | + source "etc/yum.repos.d/#{repo_file}" | |
153 | + owner 'root' | |
154 | + group 'root' | |
155 | + mode '0644' | |
156 | + action repo_file == 'docker.repo' ? old_repo_action : new_repo_action | |
157 | + end | |
158 | + } | |
159 | + | |
160 | + [ | |
119 | 161 | 'docker', |
120 | - 'container-selinux', | |
121 | 162 | 'docker-common', |
163 | + #'container-selinux', | |
164 | + 'docker-selinux', | |
122 | 165 | ].each {|pkg| |
123 | 166 | resources(package: pkg) rescue package pkg do |
124 | - action :remove | |
167 | + action platform_family == 'debian' ? :purge : :remove | |
125 | 168 | notifies :run, 'bash[clean_up_docker0_bridge]', :immediately |
126 | 169 | end |
127 | 170 | } |
128 | 171 | |
129 | - [ | |
130 | - 'docker-engine-selinux', | |
131 | - 'docker-engine', | |
132 | - ].each {|pkg| | |
172 | + pkgs.each {|pkg| | |
133 | 173 | resources(yum_package: pkg) rescue yum_package pkg do |
134 | 174 | allow_downgrade true |
135 | 175 | action :install |
136 | 176 | version docker_ver unless docker_ver.empty? |
137 | 177 | # dockerrepo is disabled by default to prevent automatic update. |
138 | - options '--enablerepo=dockerrepo' | |
139 | - notifies :run, 'bash[clean_up_docker0_bridge]', :before if pkg == 'docker-engine' | |
178 | + options '--enablerepo=dockerrepo' unless enable_new_repo | |
179 | + notifies :run, 'bash[clean_up_docker0_bridge]', :before if pkg == 'docker-engine' || pkg == 'docker-ce' | |
140 | 180 | end |
141 | 181 | } |
142 | 182 | else |
@@ -146,7 +186,7 @@ when 'rhel' | ||
146 | 186 | 'docker-engine', |
147 | 187 | ].each {|pkg| |
148 | 188 | resources(package: pkg) rescue package pkg do |
149 | - action :remove | |
189 | + action platform_family == 'debian' ? :purge : :remove | |
150 | 190 | notifies :run, 'bash[clean_up_docker0_bridge]', :immediately |
151 | 191 | end |
152 | 192 | } |
@@ -216,13 +256,21 @@ when 'debian' | ||
216 | 256 | pkg_name = node['docker-grid']['dockerproject']['package_name'] |
217 | 257 | |
218 | 258 | apt_repo_config = node['docker-grid']['apt_repo'] |
259 | + apt_key_add_cmd = nil | |
260 | + apt_key_name = nil | |
261 | + if enable_new_repo | |
262 | + apt_key_add_cmd = "curl -fsSL https://download.docker.com/linux/#{platform}/gpg | apt-key add -" | |
263 | + apt_key_name = 'Docker Release (CE deb)' | |
264 | + else | |
265 | + apt_key_add_cmd = "apt-key adv --keyserver #{apt_repo_config['keyserver']} --recv-keys #{apt_repo_config['recv-keys']}" | |
266 | + apt_key_name = 'Docker Release Tool (releasedocker)' | |
267 | + end | |
219 | 268 | bash 'apt-key_adv_docker_tools_key' do |
220 | 269 | code <<-"EOH" |
221 | - apt-key adv --keyserver #{apt_repo_config['keyserver']} --recv-keys #{apt_repo_config['recv-keys']} | |
222 | - #apt-get update | |
270 | + #{apt_key_add_cmd} | |
223 | 271 | EOH |
224 | 272 | action :nothing |
225 | - not_if 'apt-key list | grep -i docker' | |
273 | + not_if "apt-key list 2>&1 | grep '#{apt_key_name}'" | |
226 | 274 | end |
227 | 275 | |
228 | 276 | template '/etc/apt/sources.list.d/docker.list' do |
@@ -252,25 +300,24 @@ when 'debian' | ||
252 | 300 | end |
253 | 301 | |
254 | 302 | resources(package: pkg_name_removed) rescue package pkg_name_removed do |
255 | - action :remove | |
303 | + action platform_family == 'debian' ? :purge : :remove | |
256 | 304 | notifies :run, 'bash[clean_up_docker0_bridge]', :immediately |
257 | 305 | end |
258 | 306 | |
259 | 307 | resources(package: pkg_name) rescue package pkg_name do |
260 | 308 | action :install |
309 | + options "-o Dpkg::Options::='--force-confnew'" if platform_family == 'debian' | |
261 | 310 | options '--allow-downgrades' if platform == 'debian' || platform_version >= '16.04' # LTS (xenial) |
262 | 311 | options '--force-yes' if platform_version == '14.04' # LTS (trusty) |
263 | 312 | version docker_ver unless docker_ver.empty? |
264 | 313 | notifies :run, 'bash[clean_up_docker0_bridge]', :before |
314 | + notifies :run, 'bash[apt-key_adv_docker_tools_key]', :before | |
315 | + notifies :run, "execute[#{apt_get_update}]", :before | |
265 | 316 | end |
266 | 317 | end |
267 | 318 | |
268 | 319 | docker_opts = [] |
269 | - | |
270 | -storage_driver = node['docker-grid']['engine']['storage-driver'] | |
271 | 320 | docker_opts.push("--storage-driver=#{storage_driver}") if !storage_driver.nil? && !storage_driver.empty? |
272 | - | |
273 | -userns_remap = node['docker-grid']['engine']['userns-remap'] | |
274 | 321 | docker_opts.push("--userns-remap=#{userns_remap}") if !userns_remap.nil? && !userns_remap.empty? |
275 | 322 | |
276 | 323 | extra_options = node['docker-grid']['engine']['daemon_extra_options'] |
@@ -335,6 +382,7 @@ end | ||
335 | 382 | |
336 | 383 | # utility scripts |
337 | 384 | [ |
385 | + 'docker_containers_cleanup', | |
338 | 386 | 'docker_images_cleanup', |
339 | 387 | 'docker_volumes_cleanup', |
340 | 388 | ].each {|script| |
@@ -1,19 +1,26 @@ | ||
1 | 1 | <% |
2 | 2 | platform = node['platform'] |
3 | +arch = nil | |
4 | +case node['kernel']['machine'] | |
5 | +when 'x86_64' | |
6 | + arch = 'amd64' | |
7 | +when 'armv7l', 'armv6l' | |
8 | + arch = 'armhf' | |
9 | +end | |
10 | +enable_new_repo = node['docker-grid']['dockerproject']['enable_new_repo'] | |
3 | 11 | override_apt_line = node['docker-grid']['apt_repo']['override_apt_line'] |
4 | 12 | if !override_apt_line.nil? && !override_apt_line.empty? |
5 | 13 | -%> |
6 | 14 | <%= override_apt_line %> |
7 | 15 | <% |
8 | 16 | else |
9 | - if platform == 'debian' | |
17 | + if enable_new_repo | |
10 | 18 | -%> |
11 | -#deb [arch=amd64] https://download.docker.com/linux/debian <%= node['lsb']['codename'] %> stable | |
12 | -deb <%= node['docker-grid']['apt_repo']['url'] %> debian-<%= node['lsb']['codename'] %> main | |
19 | +deb [arch=<%= arch %>] <%= node['docker-grid']['apt_repo']['url'] %> <%= node['lsb']['codename'] %> stable | |
13 | 20 | <% |
14 | - elsif platform == 'ubuntu' | |
21 | + else | |
15 | 22 | -%> |
16 | -deb <%= node['docker-grid']['apt_repo']['url'] %> ubuntu-<%= node['lsb']['codename'] %> main | |
23 | +deb <%= node['docker-grid']['apt_repo']['url'] %> <%= platform %>-<%= node['lsb']['codename'] %> main | |
17 | 24 | <% |
18 | 25 | end |
19 | 26 | end |
@@ -1,3 +1,8 @@ | ||
1 | +<% | |
2 | +dockerd = '/usr/bin/dockerd' | |
3 | +# old daemon command | |
4 | +dockerd = '/usr/bin/docker daemon' unless File.exist?(dockerd) | |
5 | +-%> | |
1 | 6 | [Service] |
2 | 7 | ExecStart= |
3 | -ExecStart=/usr/bin/docker daemon <%= @docker_opts.join(' ') %> | |
8 | +ExecStart=<%= dockerd %> <%= @docker_opts.join(' ') %> |
@@ -0,0 +1,62 @@ | ||
1 | +[docker-ce-stable] | |
2 | +name=Docker CE Stable - $basearch | |
3 | +baseurl=https://download.docker.com/linux/centos/7/$basearch/stable | |
4 | +enabled=1 | |
5 | +gpgcheck=1 | |
6 | +gpgkey=https://download.docker.com/linux/centos/gpg | |
7 | + | |
8 | +[docker-ce-stable-debuginfo] | |
9 | +name=Docker CE Stable - Debuginfo $basearch | |
10 | +baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/stable | |
11 | +enabled=0 | |
12 | +gpgcheck=1 | |
13 | +gpgkey=https://download.docker.com/linux/centos/gpg | |
14 | + | |
15 | +[docker-ce-stable-source] | |
16 | +name=Docker CE Stable - Sources | |
17 | +baseurl=https://download.docker.com/linux/centos/7/source/stable | |
18 | +enabled=0 | |
19 | +gpgcheck=1 | |
20 | +gpgkey=https://download.docker.com/linux/centos/gpg | |
21 | + | |
22 | +[docker-ce-edge] | |
23 | +name=Docker CE Edge - $basearch | |
24 | +baseurl=https://download.docker.com/linux/centos/7/$basearch/edge | |
25 | +enabled=0 | |
26 | +gpgcheck=1 | |
27 | +gpgkey=https://download.docker.com/linux/centos/gpg | |
28 | + | |
29 | +[docker-ce-edge-debuginfo] | |
30 | +name=Docker CE Edge - Debuginfo $basearch | |
31 | +baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/edge | |
32 | +enabled=0 | |
33 | +gpgcheck=1 | |
34 | +gpgkey=https://download.docker.com/linux/centos/gpg | |
35 | + | |
36 | +[docker-ce-edge-source] | |
37 | +name=Docker CE Edge - Sources | |
38 | +baseurl=https://download.docker.com/linux/centos/7/source/edge | |
39 | +enabled=0 | |
40 | +gpgcheck=1 | |
41 | +gpgkey=https://download.docker.com/linux/centos/gpg | |
42 | + | |
43 | +[docker-ce-test] | |
44 | +name=Docker CE Test - $basearch | |
45 | +baseurl=https://download.docker.com/linux/centos/7/$basearch/test | |
46 | +enabled=0 | |
47 | +gpgcheck=1 | |
48 | +gpgkey=https://download.docker.com/linux/centos/gpg | |
49 | + | |
50 | +[docker-ce-test-debuginfo] | |
51 | +name=Docker CE Test - Debuginfo $basearch | |
52 | +baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/test | |
53 | +enabled=0 | |
54 | +gpgcheck=1 | |
55 | +gpgkey=https://download.docker.com/linux/centos/gpg | |
56 | + | |
57 | +[docker-ce-test-source] | |
58 | +name=Docker CE Test - Sources | |
59 | +baseurl=https://download.docker.com/linux/centos/7/source/test | |
60 | +enabled=0 | |
61 | +gpgcheck=1 | |
62 | +gpgkey=https://download.docker.com/linux/centos/gpg |
@@ -0,0 +1,3 @@ | ||
1 | +#!/bin/sh | |
2 | + | |
3 | +docker ps -q -f status=exited -f status=dead | awk '{print $1}' | xargs --no-run-if-empty docker rm |
@@ -1 +1 @@ | ||
1 | -0.5.3 | |
1 | +0.5.4 |
@@ -0,0 +1,57 @@ | ||
1 | +# | |
2 | +# Copyright 2016-2017, whitestar | |
3 | +# | |
4 | +# Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | +# you may not use this file except in compliance with the License. | |
6 | +# You may obtain a copy of the License at | |
7 | +# | |
8 | +# http://www.apache.org/licenses/LICENSE-2.0 | |
9 | +# | |
10 | +# Unless required by applicable law or agreed to in writing, software | |
11 | +# distributed under the License is distributed on an "AS IS" BASIS, | |
12 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | +# See the License for the specific language governing permissions and | |
14 | +# limitations under the License. | |
15 | +# | |
16 | + | |
17 | +name 'docker-new-repo' | |
18 | +description 'Docker CE by the new repository' | |
19 | + | |
20 | +run_list( | |
21 | + 'role[docker]', | |
22 | +) | |
23 | + | |
24 | +#env_run_lists | |
25 | + | |
26 | +default_attributes( | |
27 | +) | |
28 | + | |
29 | +override_attributes( | |
30 | + 'docker-grid' => { | |
31 | + 'install_flavor' => 'dockerproject', | |
32 | + 'dockerproject' => { | |
33 | + 'enable_new_repo' => true, | |
34 | + }, | |
35 | + 'compose' => { | |
36 | + #'skip_setup' => true, # default: false | |
37 | + 'release_base_url' => 'https://github.com/docker/compose/releases/download/1.17.0', | |
38 | + }, | |
39 | + 'engine' => { | |
40 | + 'version' => '', # latest | |
41 | + #'skip_setup' => true, # default: false | |
42 | + # new package: `docker-ce` | |
43 | + #'version_on_centos' => '17.09.0.ce-1', | |
44 | + #'version_on_ubuntu' => '17.05.0~ce-0', | |
45 | + 'storage-driver_on_centos' => 'devicemapper', | |
46 | + 'storage-driver_on_ubuntu' => 'overlay2', # default: aufs | |
47 | + #'userns-remap' => 'default', | |
48 | + #'daemon_extra_options' => [ | |
49 | + #'-H fd://', | |
50 | + #'-H fd:// --bip=192.168.100.1/24 --fixed-cidr=192.168.100.0/24', | |
51 | + # for docker >= 1.10, docker-engine >= 1.12 (on rhel family) | |
52 | + # '-H fd://' option automatically removed by this cookbook. | |
53 | + # See https://github.com/docker/docker/issues/22847 | |
54 | + #].join(' '), | |
55 | + }, | |
56 | + }, | |
57 | +) |
@@ -0,0 +1,57 @@ | ||
1 | +# | |
2 | +# Copyright 2016-2017, whitestar | |
3 | +# | |
4 | +# Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | +# you may not use this file except in compliance with the License. | |
6 | +# You may obtain a copy of the License at | |
7 | +# | |
8 | +# http://www.apache.org/licenses/LICENSE-2.0 | |
9 | +# | |
10 | +# Unless required by applicable law or agreed to in writing, software | |
11 | +# distributed under the License is distributed on an "AS IS" BASIS, | |
12 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | +# See the License for the specific language governing permissions and | |
14 | +# limitations under the License. | |
15 | +# | |
16 | + | |
17 | +name 'docker-os-repo' | |
18 | +description 'Docker Engine by each OS distribution' | |
19 | + | |
20 | +run_list( | |
21 | + 'role[docker]', | |
22 | +) | |
23 | + | |
24 | +#env_run_lists | |
25 | + | |
26 | +default_attributes( | |
27 | +) | |
28 | + | |
29 | +override_attributes( | |
30 | + 'docker-grid' => { | |
31 | + 'install_flavor' => 'os-repository', | |
32 | + 'compose' => { | |
33 | + #'skip_setup' => true, # default: false | |
34 | + }, | |
35 | + 'engine' => { | |
36 | + 'version' => '', # latest | |
37 | + #'skip_setup' => true, # default: false | |
38 | + # package name: `docker` | |
39 | + #'version_on_centos' => '1.12.6-11', | |
40 | + #'version_on_centos' => '1.12.5-14', | |
41 | + #'version_on_centos' => '1.10.3-59', | |
42 | + # package name: `docker.io` | |
43 | + #'version_on_ubuntu' => '1.12.3-0ubuntu4~16.04.2', | |
44 | + #'version_on_ubuntu' => '1.10.3-0ubuntu6', | |
45 | + 'storage-driver_on_centos' => 'overlay', | |
46 | + 'storage-driver_on_ubuntu' => 'overlay', # default: aufs | |
47 | + #'userns-remap' => 'default', | |
48 | + #'daemon_extra_options' => [ | |
49 | + #'-H fd://', | |
50 | + #'-H fd:// --bip=192.168.100.1/24 --fixed-cidr=192.168.100.0/24', | |
51 | + # for docker >= 1.10, docker-engine >= 1.12 (on rhel family) | |
52 | + # '-H fd://' option automatically removed by this cookbook. | |
53 | + # See https://github.com/docker/docker/issues/22847 | |
54 | + #].join(' '), | |
55 | + }, | |
56 | + }, | |
57 | +) |
@@ -34,7 +34,7 @@ registry_cn = 'registry.docker.example.com' | ||
34 | 34 | override_attributes( |
35 | 35 | 'ssl_cert' => { |
36 | 36 | 'ca_names' => [ |
37 | - grid_ca, | |
37 | + ca_name, | |
38 | 38 | ], |
39 | 39 | 'common_names' => [ |
40 | 40 | registry_cn, |
@@ -15,7 +15,7 @@ | ||
15 | 15 | # |
16 | 16 | |
17 | 17 | name 'docker' |
18 | -description 'Docker Engine' | |
18 | +description 'Docker Engine by the old repository' | |
19 | 19 | |
20 | 20 | run_list( |
21 | 21 | 'recipe[docker-grid::engine]', |
@@ -30,28 +30,26 @@ default_attributes( | ||
30 | 30 | override_attributes( |
31 | 31 | 'docker-grid' => { |
32 | 32 | 'install_flavor' => 'dockerproject', |
33 | - #'install_flavor' => 'os-repository', | |
33 | + 'dockerproject' => { | |
34 | + 'enable_new_repo' => false, | |
35 | + }, | |
34 | 36 | 'compose' => { |
35 | - 'skip_setup' => true, # default: false | |
37 | + #'skip_setup' => true, # default: false | |
36 | 38 | }, |
37 | 39 | 'engine' => { |
38 | 40 | 'version' => '', # latest |
39 | 41 | #'skip_setup' => true, # default: false |
40 | - #'version_on_centos' => '17.03.1.ce-1', # docker-engine | |
41 | - #'version_on_centos' => '1.13.1-1', # docker-engine | |
42 | - #'version_on_centos' => '1.12.6-1', # docker-engine | |
43 | - #'version_on_centos' => '1.12.6-11', # docker | |
44 | - #'version_on_centos' => '1.12.5-14', # docker | |
45 | - #'version_on_centos' => '1.11.2-1', # docker-engine | |
46 | - #'version_on_centos' => '1.10.3-1', # docker-engine | |
47 | - #'version_on_centos' => '1.10.3-59', # docker | |
48 | - #'version_on_ubuntu' => '17.05.0~ce-0', # docker-engine | |
49 | - #'version_on_ubuntu' => '17.03.1~ce-0', # docker-engine | |
50 | - #'version_on_ubuntu' => '1.13.1-0', # docker-engine | |
51 | - #'version_on_ubuntu' => '1.12.6-0', # docker-engine | |
52 | - #'version_on_ubuntu' => '1.12.3-0ubuntu4~16.04.2', # docker.io | |
53 | - #'version_on_ubuntu' => '1.11.2-0', # docker-engine | |
54 | - #'version_on_ubuntu' => '1.10.3-0ubuntu6', # docker.io | |
42 | + # old package: `docker-engine` | |
43 | + #'version_on_centos' => '17.03.1.ce-1', | |
44 | + #'version_on_centos' => '1.13.1-1', | |
45 | + #'version_on_centos' => '1.12.6-1', | |
46 | + #'version_on_centos' => '1.11.2-1', | |
47 | + #'version_on_centos' => '1.10.3-1', | |
48 | + #'version_on_ubuntu' => '17.05.0~ce-0', | |
49 | + #'version_on_ubuntu' => '17.03.1~ce-0', | |
50 | + #'version_on_ubuntu' => '1.13.1-0', | |
51 | + #'version_on_ubuntu' => '1.12.6-0', | |
52 | + #'version_on_ubuntu' => '1.11.2-0', | |
55 | 53 | 'storage-driver_on_centos' => 'overlay', |
56 | 54 | 'storage-driver_on_ubuntu' => 'overlay', # default: aufs |
57 | 55 | #'userns-remap' => 'default', |
@@ -0,0 +1,63 @@ | ||
1 | +# | |
2 | +# Copyright 2016-2017, whitestar | |
3 | +# | |
4 | +# Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | +# you may not use this file except in compliance with the License. | |
6 | +# You may obtain a copy of the License at | |
7 | +# | |
8 | +# http://www.apache.org/licenses/LICENSE-2.0 | |
9 | +# | |
10 | +# Unless required by applicable law or agreed to in writing, software | |
11 | +# distributed under the License is distributed on an "AS IS" BASIS, | |
12 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | +# See the License for the specific language governing permissions and | |
14 | +# limitations under the License. | |
15 | +# | |
16 | + | |
17 | +name 'docker4latest_ubuntu' | |
18 | +description 'Docker for the latest Ubuntu' | |
19 | + | |
20 | +run_list( | |
21 | + 'role[docker]', | |
22 | +) | |
23 | + | |
24 | +#env_run_lists() | |
25 | + | |
26 | +#default_attributes() | |
27 | + | |
28 | +override_attributes( | |
29 | + 'docker-grid' => { | |
30 | + 'install_flavor' => 'dockerproject', | |
31 | + 'dockerproject' => { | |
32 | + 'enable_new_repo' => true, | |
33 | + 'package_name' => 'docker-ce', # new package name. | |
34 | + }, | |
35 | + # install the package for the newer distribution of ubuntu. | |
36 | + 'apt_repo' => { | |
37 | + # new repo. | |
38 | + #'override_apt_line' => 'deb [arch=amd64] https://download.docker.com/linux/ubuntu artful stable', # not active yet | |
39 | + 'override_apt_line' => 'deb [arch=amd64] https://download.docker.com/linux/ubuntu zesty stable', | |
40 | + # old repo. | |
41 | + #'override_apt_line' => 'deb https://apt.dockerproject.org/repo ubuntu-zesty main', | |
42 | + #'override_apt_line' => 'deb https://apt.dockerproject.org/repo ubuntu-xenial main', | |
43 | + }, | |
44 | + 'engine' => { | |
45 | + # new package: `docker-ce`` | |
46 | + 'version' => '17.09.0~ce-0~ubuntu', | |
47 | + #'version' => '17.06.2~ce-0~ubuntu', | |
48 | + # old package: `docker-engine`` | |
49 | + #'version' => '17.05.0~ce-0~ubuntu-zesty', | |
50 | + #'version' => '17.03.1~ce-0~ubuntu-yakkety', | |
51 | + #'version' => '1.12.3-0~xenial', | |
52 | + 'storage-driver_on_ubuntu' => 'overlay2', # default: aufs | |
53 | + #'daemon_extra_options' => [ | |
54 | + #'-H fd:// --bip=192.168.100.1/24 --fixed-cidr=192.168.100.0/24', | |
55 | + # for docker >= 1.10, docker-engine >= 1.12 (on rhel family) | |
56 | + # '-H fd://' option automatically removed by this cookbook. | |
57 | + # See https://github.com/docker/docker/issues/22847 | |
58 | + #].join(' '), | |
59 | + #'users_allow' => [ | |
60 | + #], | |
61 | + }, | |
62 | + }, | |
63 | +) |