daddy 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2a08fdea3a2abe66428f4c4d223a06a9ce0cf722
4
- data.tar.gz: 0e9200d33c27789a2154e8a375aaf70eae8cfa05
3
+ metadata.gz: ad909474011e58e85079da60b460e1c2bd192d0d
4
+ data.tar.gz: c5847a1dbf71152547b7d4fc132395736c508a14
5
5
  SHA512:
6
- metadata.gz: 6dbf623ff1350f5426f98fdf7dca336bef32c78a577cb6a3efe8b4be1ec4667c4193c63401562f0ebce31a96108d105444681948babdade0b07769133e003b9e
7
- data.tar.gz: f3eac29f1508edc07218d102c26ce17652f067b56b46ca62900f0e29181fc5c9557a8b71b1f14668217e16c483ecd603151ccc6fa5e2b38ca651707f8ba22e25
6
+ metadata.gz: 5ba9fe71c13cf7d486ba283acf14d3c2f847d65e059f065c3f94a282692c8d79f2ba119278606fe4017cee8cab4bde6e36ce94e0c95e2baa9a10d716d4379228
7
+ data.tar.gz: ece215f7fd5e73da83667e5aaa266c0e0e88f3f2571ff238f4f32554e328d7826e2faf0eb418d1a02dc6d578df5742b95d87062698c187b7d143f73ccf0f2b0a
data/bin/dad CHANGED
@@ -12,7 +12,7 @@ when 'new'
12
12
  APP_NAME = ARGV[1]
13
13
 
14
14
  [
15
- "sudo gem install rails -v #{RAILS_VERSION} --no-ri --no-rdoc",
15
+ "sudo gem install rails -v #{RAILS_VERSION} --no-document",
16
16
  "rails _#{RAILS_VERSION}_ new #{APP_NAME} -d mysql --skip-bundle",
17
17
  ].each do |command|
18
18
  puts command
@@ -26,6 +26,7 @@ when 'new'
26
26
 
27
27
  [
28
28
  "bundle install",
29
+ "bundle exec rake dad:mysql:install",
29
30
  "bundle exec rake dad:install",
30
31
  "bundle exec rake dad:db:config",
31
32
  "bundle exec rake dad:db:create",
@@ -0,0 +1,41 @@
1
+ require 'daddy/itamae'
2
+
3
+ case os_version
4
+ when /rhel-6\.(.*?)/
5
+ package 'epel-release' do
6
+ user 'root'
7
+ end
8
+
9
+ package 'docker-io' do
10
+ user 'root'
11
+ end
12
+
13
+ when /rhel-7\.(.*?)/
14
+ template '/etc/yum.repos.d/docker.repo' do
15
+ user 'root'
16
+ owner 'root'
17
+ group 'root'
18
+ mode '644'
19
+ end
20
+
21
+ package 'docker-engine' do
22
+ user 'root'
23
+ end
24
+
25
+ else
26
+ raise "unsupported operating system: #{os_version}"
27
+ end
28
+
29
+ group 'docker' do
30
+ user 'root'
31
+ end
32
+
33
+ execute "usermod -aG docker #{ENV['USER']}" do
34
+ user 'root'
35
+ not_if "groups #{ENV['USER']} | grep -E \"\sdocker\""
36
+ end
37
+
38
+ service 'docker' do
39
+ action [:enable, :start]
40
+ user 'root'
41
+ end
@@ -0,0 +1,3 @@
1
+ require 'daddy/itamae'
2
+
3
+ execute 'docker pull registry'
@@ -0,0 +1,40 @@
1
+ require 'daddy/itamae'
2
+
3
+ case os_version
4
+ when /rhel-6\.(.*?)/
5
+ package 'mysql' do
6
+ user 'root'
7
+ end
8
+
9
+ package 'mysql-server' do
10
+ user 'root'
11
+ end
12
+
13
+ service 'mysqld' do
14
+ user 'root'
15
+ action [:enable, :start]
16
+ end
17
+
18
+ when /rhel-7\.(.*?)/
19
+ package 'mariadb' do
20
+ user 'root'
21
+ end
22
+
23
+ package 'mariadb-server' do
24
+ user 'root'
25
+ end
26
+
27
+ service 'mariadb' do
28
+ user 'root'
29
+ action [:enable, :start]
30
+ end
31
+
32
+ else
33
+ raise "サポートしていないOSバージョンです。#{os_version}"
34
+ end
35
+
36
+ execute 'mysql_secure_installation' do
37
+ user 'root'
38
+ command "bash #{File.join(File.dirname(__FILE__), 'mysql_secure_installation.sh')}"
39
+ only_if "mysql -u root -e 'select 1;' && test $? -eq 0"
40
+ end
@@ -0,0 +1,26 @@
1
+ #!/bin/bash
2
+
3
+ expect -c "
4
+ set timeout 5
5
+ spawn mysql_secure_installation
6
+
7
+ expect \"Enter current password for root\"
8
+ send \"\n\"
9
+
10
+ expect \"Set root password?\"
11
+ send \"n\n\"
12
+
13
+ expect \"Remove anonymous users?\"
14
+ send \"y\n\"
15
+
16
+ expect \"Disallow root login remotely?\"
17
+ send \"y\n\"
18
+
19
+ expect \"Remove test database and access to it?\"
20
+ send \"y\n\"
21
+
22
+ expect \"Reload privilege tables now?\"
23
+ send \"y\n\"
24
+
25
+ interact
26
+ "
@@ -0,0 +1,6 @@
1
+ [dockerrepo]
2
+ name=Docker Repository
3
+ baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
4
+ enabled=1
5
+ gpgcheck=1
6
+ gpgkey=https://yum.dockerproject.org/gpg
@@ -33,3 +33,7 @@ module Itamae
33
33
  end
34
34
  end
35
35
  end
36
+
37
+ Dir[File.join(File.dirname(__FILE__), 'itamae', '*.rb')].each do |f|
38
+ require f
39
+ end
@@ -0,0 +1,3 @@
1
+ def os_version
2
+ @_os_version ||= "#{node[:platform_family]}-#{node[:platform_version]}"
3
+ end
@@ -1,3 +1,3 @@
1
1
  module Daddy
2
- VERSION = '0.5.0'
2
+ VERSION = '0.5.1'
3
3
  end
@@ -24,12 +24,13 @@ namespace :dad do
24
24
  end
25
25
  end
26
26
 
27
+ system("echo 'flush privileges;' >> tmp/create_databases.sql")
27
28
  system("echo >> tmp/create_databases.sql")
28
29
 
29
30
  puts
30
31
  puts File.read('tmp/create_databases.sql')
31
32
 
32
- if ENV['NO_ROOT_PASSWORD']
33
+ if ENV['DAD_MYSQL_NO_ROOT_PASSWORD']
33
34
  fail unless system("mysql -u root < tmp/create_databases.sql")
34
35
  else
35
36
  fail unless system("mysql -u root -p < tmp/create_databases.sql")
@@ -0,0 +1,20 @@
1
+ require_relative 'task_helper'
2
+
3
+ namespace :dad do
4
+ namespace :docker do
5
+
6
+ desc 'install Docker'
7
+ task :install do
8
+ run_itamae 'docker/install'
9
+ end
10
+
11
+ namespace :registry do
12
+
13
+ desc 'install Docker Registry'
14
+ task :install do
15
+ run_itamae 'docker/install', 'docker/registry/install'
16
+ end
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,12 @@
1
+ require_relative 'task_helper'
2
+
3
+ namespace :dad do
4
+ namespace :mysql do
5
+
6
+ desc 'MySQLをインストールします。'
7
+ task :install do
8
+ run_itamae 'mysql/install'
9
+ end
10
+
11
+ end
12
+ end
@@ -102,12 +102,16 @@ def self.run(*commands)
102
102
  end
103
103
  end
104
104
 
105
- def self.run_itamae(recipe)
105
+ def self.run_itamae(*recipes)
106
106
  options = []
107
107
  options << '--ohai'
108
108
  options << '--log-level=debug' if ENV['DEBUG']
109
109
 
110
- recipe = "#{recipe}.rb" unless recipe.end_with?('.rb')
110
+ recipe_files = []
111
+ recipes.each do |recipe|
112
+ recipe = "#{recipe}.rb" unless recipe.end_with?('.rb')
113
+ recipe_files << File.join(cookbook_dir, recipe)
114
+ end
111
115
 
112
- run "bundle exec itamae local #{options.join(' ')} #{File.join(cookbook_dir, recipe)}"
116
+ run "bundle exec itamae local #{options.join(' ')} #{recipe_files.join(' ')}"
113
117
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daddy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ichy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-08 00:00:00.000000000 Z
11
+ date: 2016-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -233,9 +233,14 @@ files:
233
233
  - app/assets/stylesheets/datepicker.css.scss
234
234
  - app/assets/stylesheets/ympicker.css.scss
235
235
  - bin/dad
236
+ - itamae/cookbooks/docker/install.rb
237
+ - itamae/cookbooks/docker/registry/install.rb
236
238
  - itamae/cookbooks/jenkins/install.rb
239
+ - itamae/cookbooks/mysql/install.rb
240
+ - itamae/cookbooks/mysql/mysql_secure_installation.sh
237
241
  - itamae/cookbooks/phantomjs/install.rb
238
242
  - itamae/templates/etc/sysconfig/jenkins.erb
243
+ - itamae/templates/etc/yum.repos.d/docker.repo.erb
239
244
  - lib/active_support/cache/null_store.rb
240
245
  - lib/capistrano/daddy.rb
241
246
  - lib/capistrano/tasks/update_linked_files.rake
@@ -259,6 +264,7 @@ files:
259
264
  - lib/daddy/helpers/html_helper.rb
260
265
  - lib/daddy/http_client.rb
261
266
  - lib/daddy/itamae.rb
267
+ - lib/daddy/itamae/os_version.rb
262
268
  - lib/daddy/model.rb
263
269
  - lib/daddy/models/crud_extension.rb
264
270
  - lib/daddy/models/query_extension.rb
@@ -283,6 +289,7 @@ files:
283
289
  - lib/tasks/db_fixtures.rake
284
290
  - lib/tasks/db_load.rake
285
291
  - lib/tasks/diary.rake
292
+ - lib/tasks/docker.rake
286
293
  - lib/tasks/elasticsearch.rake
287
294
  - lib/tasks/elasticsearch/elasticsearch.conf.erb
288
295
  - lib/tasks/elasticsearch/elasticsearch.yml.erb
@@ -305,6 +312,7 @@ files:
305
312
  - lib/tasks/kibana/configure.sh
306
313
  - lib/tasks/kibana/install.sh
307
314
  - lib/tasks/kibana/nginx.conf.erb
315
+ - lib/tasks/mysql.rake
308
316
  - lib/tasks/nginx.rake
309
317
  - lib/tasks/nginx/app.conf.erb
310
318
  - lib/tasks/nginx/empty.conf.erb