Grid環境構築用のChefリポジトリです。
Revision | 147bedac1495aa8e5ce117a07a536a6a3a76e5e7 (tree) |
---|---|
Time | 2016-12-08 22:03:26 |
Author | whitestar <whitestar@gaea...> |
Commiter | whitestar |
adds the docker-grid::compose recipe.
@@ -1,12 +1,18 @@ | ||
1 | 1 | # docker-grid CHANGELOG |
2 | 2 | |
3 | +0.2.2 | |
4 | +----- | |
5 | +- adds the `docker-grid::compose` recipe. | |
6 | +- adds the `['docker-grid']['engine']['users_allow']` attribute. | |
7 | +- refactoring. | |
8 | + | |
3 | 9 | 0.2.1 |
4 | 10 | ----- |
5 | 11 | - refactoring. |
6 | 12 | |
7 | 13 | 0.2.0 |
8 | 14 | ----- |
9 | -- adds `['docker-grid']['engine']['userns-remap']` attribute. | |
15 | +- adds the `['docker-grid']['engine']['userns-remap']` attribute. | |
10 | 16 | |
11 | 17 | 0.1.0 |
12 | 18 | ----- |
@@ -12,6 +12,7 @@ This cookbook sets up Docker engine. | ||
12 | 12 | - [Usage](#usage) |
13 | 13 | - [Recipes](#recipes) |
14 | 14 | - [docker-grid::default](#docker-griddefault) |
15 | + - [docker-grid::compose](#docker-gridcompose) | |
15 | 16 | - [docker-grid::engine](#docker-gridengine) |
16 | 17 | - [Role Examples](#role-examples) |
17 | 18 | - [License and Authors](#license-and-authors) |
@@ -35,6 +36,9 @@ This cookbook sets up Docker engine. | ||
35 | 36 | |`['docker-grid']['yum_repo']['baseurl']`|String||`'https://yum.dockerproject.org/repo/main/centos/$releasever/'`| |
36 | 37 | |`['docker-grid']['yum_repo']['gpgcheck']`|String|`'0'`: disabled, `'1'`: enabled.|`'1'`| |
37 | 38 | |`['docker-grid']['yum_repo']['gpgkey']`|String||`'https://yum.dockerproject.org/gpg'`| |
39 | +|`['docker-grid']['compose']['auto_upgrade']`|String|upgrade/reinstall the docker-compose automatically.|`false`| | |
40 | +|`['docker-grid']['compose']['release_base_url']`|String||`'https://github.com/docker/compose/releases/download/1.9.0'`| | |
41 | +|`['docker-grid']['compose']['release_url']`|String||`"#{node['docker-grid']['compose']['release_base_url']}/docker-compose-#{node['kernel']['name']}-#{node['kernel']['machine']}"`| | |
38 | 42 | |`['docker-grid']['engine']['version_on_centos']`|String|Docker version for CentOS.|`'1.11.2-1'`| |
39 | 43 | |`['docker-grid']['engine']['version_on_ubuntu']`|String|Docker version for Ubuntu.|`'1.11.2-0'`| |
40 | 44 | |`['docker-grid']['engine']['version']`|String|Docker 1.9.x - 1.11.x is recommended for stability reasons. Note: this **default** value is overwritten by the `version_on_{centos or ubuntu}`.|See default.rb| |
@@ -43,6 +47,7 @@ This cookbook sets up Docker engine. | ||
43 | 47 | |`['docker-grid']['engine']['storage-driver']`|String||See default.rb| |
44 | 48 | |`['docker-grid']['engine']['userns-remap']`|String|e.g. `'default'` (`dockremap` user/group) or your specified user/group name. Note: it is available in Docker 1.10/later and (Ubuntu or RHEL family 7.2/later).|`nil` (inactive)| |
45 | 49 | |`['docker-grid']['engine']['daemon_extra_options']`|String|ref. `docker daemon --help`.|`'-H fd://'`| |
50 | +|`['docker-grid']['engine']['users_allow']`|Array|Non-root users allowed to manage Docker daemon.|`[]`| | |
46 | 51 | |
47 | 52 | ## Usage |
48 | 53 |
@@ -52,6 +57,10 @@ This cookbook sets up Docker engine. | ||
52 | 57 | |
53 | 58 | This recipe does nothing. |
54 | 59 | |
60 | +#### docker-grid::compose | |
61 | + | |
62 | +This recipe installs docker-compose. | |
63 | + | |
55 | 64 | #### docker-grid::engine |
56 | 65 | |
57 | 66 | This recipe sets up Docker engine. |
@@ -27,8 +27,11 @@ default['docker-grid']['yum_repo'] = { | ||
27 | 27 | 'gpgcheck' => '1', |
28 | 28 | 'gpgkey' => 'https://yum.dockerproject.org/gpg', |
29 | 29 | } |
30 | -default['docker-grid']['engine']['version_on_centos'] = '1.11.2-1' | |
31 | -default['docker-grid']['engine']['version_on_ubuntu'] = '1.11.2-0' | |
30 | +default['docker-grid']['compose']['auto_upgrade'] = false | |
31 | +default['docker-grid']['compose']['release_base_url'] = 'https://github.com/docker/compose/releases/download/1.9.0' | |
32 | +default['docker-grid']['compose']['release_url'] = "#{node['docker-grid']['compose']['release_base_url']}/docker-compose-#{node['kernel']['name']}-#{node['kernel']['machine']}" | |
33 | +default['docker-grid']['engine']['version_on_centos'] = '1.11.2-1' # 1.12.3-1, 1.11.2-1, 1.10.3-1 | |
34 | +default['docker-grid']['engine']['version_on_ubuntu'] = '1.11.2-0' # 1.12.3-0, 1.11.2-0 | |
32 | 35 | default['docker-grid']['engine']['version'] = node.value_for_platform( |
33 | 36 | ['centos', 'redhat'] => { |
34 | 37 | 'default' => "#{node['docker-grid']['engine']['version_on_centos']}.el#{node['platform_version'].to_i}.#{node['platform']}", |
@@ -49,3 +52,4 @@ default['docker-grid']['engine']['storage-driver'] = node.value_for_platform( | ||
49 | 52 | ) |
50 | 53 | default['docker-grid']['engine']['userns-remap'] = nil # default: inactive |
51 | 54 | default['docker-grid']['engine']['daemon_extra_options'] = '-H fd://' |
55 | +default['docker-grid']['engine']['users_allow'] = [] |
@@ -5,7 +5,7 @@ maintainer_email '' | ||
5 | 5 | license 'Apache 2.0' |
6 | 6 | description 'Installs/Configures Docker Engine.' |
7 | 7 | long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) |
8 | -version '0.2.1' | |
8 | +version '0.2.2' | |
9 | 9 | source_url 'http://scm.osdn.jp/gitroot/metasearch/grid-chef-repo.git' |
10 | 10 | issues_url 'https://osdn.jp/projects/metasearch/ticket' |
11 | 11 |
@@ -0,0 +1,31 @@ | ||
1 | +# | |
2 | +# Cookbook Name:: docker-grid | |
3 | +# Recipe:: compose | |
4 | +# | |
5 | +# Copyright 2016, whitestar | |
6 | +# | |
7 | +# Licensed under the Apache License, Version 2.0 (the "License"); | |
8 | +# you may not use this file except in compliance with the License. | |
9 | +# You may obtain a copy of the License at | |
10 | +# | |
11 | +# http://www.apache.org/licenses/LICENSE-2.0 | |
12 | +# | |
13 | +# Unless required by applicable law or agreed to in writing, software | |
14 | +# distributed under the License is distributed on an "AS IS" BASIS, | |
15 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
16 | +# See the License for the specific language governing permissions and | |
17 | +# limitations under the License. | |
18 | +# | |
19 | + | |
20 | +# See: https://docs.docker.com/compose/install/ | |
21 | + | |
22 | +include_recipe 'docker-grid::engine' | |
23 | + | |
24 | +docker_compose_path = '/usr/local/bin/docker-compose' | |
25 | + | |
26 | +execute 'install_docker_compose' do | |
27 | + user 'root' | |
28 | + command "curl -L \"#{node['docker-grid']['compose']['release_url']}\" -o #{docker_compose_path} && chmod +x #{docker_compose_path}" | |
29 | + action :run | |
30 | + not_if { ::File.exist?(docker_compose_path) } unless node['docker-grid']['compose']['auto_upgrade'] | |
31 | +end |
@@ -159,7 +159,7 @@ when 'rhel' | ||
159 | 159 | 'docker-engine-selinux', |
160 | 160 | 'docker-engine', |
161 | 161 | ].each {|pkg| |
162 | - package pkg do | |
162 | + resources(package: pkg) rescue package pkg do | |
163 | 163 | action :install |
164 | 164 | version node['docker-grid']['engine']['version'] |
165 | 165 | # dockerrepo is disabled by default to prevent automatic update. |
@@ -181,7 +181,7 @@ when 'debian' | ||
181 | 181 | end |
182 | 182 | |
183 | 183 | pkgs.each {|pkg| |
184 | - package pkg do | |
184 | + resources(package: pkg) rescue package pkg do | |
185 | 185 | action :install |
186 | 186 | end |
187 | 187 | } |
@@ -213,7 +213,7 @@ when 'debian' | ||
213 | 213 | [ |
214 | 214 | 'docker-engine', |
215 | 215 | ].each {|pkg| |
216 | - package pkg do | |
216 | + resources(package: pkg) rescue package pkg do | |
217 | 217 | action :install |
218 | 218 | version node['docker-grid']['engine']['version'] |
219 | 219 | end |
@@ -223,3 +223,10 @@ end | ||
223 | 223 | service 'docker' do |
224 | 224 | action [:start, :enable] |
225 | 225 | end |
226 | + | |
227 | +users = node['docker-grid']['engine']['users_allow'] | |
228 | +group 'docker' do | |
229 | + members users unless users.empty? | |
230 | + action :create | |
231 | + append true | |
232 | +end |