docker-builder 0.1.13 → 0.1.14
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 +4 -4
- data/CODE_OF_CONDUCT.md +0 -0
- data/Gemfile +0 -0
- data/LICENSE.txt +0 -0
- data/Rakefile +0 -0
- data/docker-builder.gemspec +0 -0
- data/examples/example-apps-php/.chef/knife.rb +0 -0
- data/examples/example-apps-php/config.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/.chef/knife.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/config.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/README.md +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/metadata.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/build.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install_app.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install_host.rb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/index.html.erb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/app.conf.erb +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/app.conf.erb.1 +0 -0
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/default.conf.erb +0 -0
- data/examples/example-apps-php/servers/apps-php/readme.md +0 -0
- data/examples/example-apps-php/temp/apps-php.1.json +14 -0
- data/examples/example-base-chef/.chef/knife.rb +6 -0
- data/examples/example-base-chef/config.rb +19 -0
- data/examples/example-base-chef/readme.md +8 -0
- data/examples/example-base-chef/servers/my/.chef/knife.rb +2 -0
- data/examples/example-base-chef/servers/my/config.rb +53 -0
- data/examples/example-base-chef/servers/my/cookbooks/my/README.md +1 -0
- data/examples/example-base-chef/servers/my/cookbooks/my/metadata.rb +9 -0
- data/examples/example-base-chef/servers/my/cookbooks/my/recipes/build.rb +13 -0
- data/examples/example-base-chef/servers/my/cookbooks/my/recipes/install.rb +0 -0
- data/examples/example-base-chef/servers/my/cookbooks/my/recipes/install_host.rb +9 -0
- data/examples/example-base-chef/servers/my/readme.md +0 -0
- data/examples/example-base-chef/temp/my.json +1 -0
- data/examples/example-kafka-zookeeper/config.rb +0 -0
- data/examples/example-nginx/config.rb +0 -0
- data/examples/example-nginx/servers/nginx/.chef/knife.rb +0 -0
- data/examples/example-nginx/servers/nginx/config.rb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/README.md +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/metadata.rb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/build.rb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/install.rb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/install_host.rb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/templates/index.html.erb +0 -0
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/templates/nginx-sites/default.conf.erb +0 -0
- data/examples/example-nginx/servers/nginx/readme.md +0 -0
- data/examples/example-nginx/servers/nginx/scripts/install.sh +0 -0
- data/examples/example-nginx/temp/ex_nginx.json +0 -0
- data/examples/example-nginx/temp/nginx.json +0 -0
- data/install_local.sh +0 -0
- data/lib/docker_builder.rb +0 -0
- data/lib/docker_builder/chef/.chef/knife.rb +6 -5
- data/lib/docker_builder/chef/chef_build_image.rb +9 -14
- data/lib/docker_builder/chef/chef_build_image_debug1.rb +60 -0
- data/lib/docker_builder/chef/chef_destroy_image.rb +0 -12
- data/lib/docker_builder/cli.rb +4 -8
- data/lib/docker_builder/config.rb +1 -1
- data/lib/docker_builder/config/dsl.rb +0 -0
- data/lib/docker_builder/config/helpers.rb +0 -0
- data/lib/docker_builder/cookbooks/docker-builder/README.md +1 -0
- data/lib/docker_builder/cookbooks/docker-builder/libraries/docker_containers_lib.rb +11 -0
- data/lib/docker_builder/cookbooks/docker-builder/libraries/myhelpers.rb +14 -0
- data/lib/docker_builder/cookbooks/docker-builder/libraries/resource_mycontainer.rb +33 -0
- data/lib/docker_builder/cookbooks/docker-builder/metadata.rb +9 -0
- data/lib/docker_builder/cookbooks/docker-builder/recipes/destroy_container.rb +0 -0
- data/lib/docker_builder/cookbooks/docker-builder/recipes/install_container.rb +18 -0
- data/lib/docker_builder/cookbooks/docker-builder/recipes/provision_container.rb +14 -0
- data/lib/docker_builder/cookbooks/docker-builder/resources/mycontainer.rb +65 -0
- data/lib/docker_builder/manager.rb +2 -0
- data/lib/docker_builder/server_settings.rb +6 -5
- data/lib/docker_builder/version.rb +1 -1
- data/lib/templates/example-chef/.chef/knife.rb +0 -0
- data/lib/templates/example-chef/config.rb.erb +0 -0
- data/lib/templates/example-chef/servers/server1/.chef/knife.rb +0 -0
- data/lib/templates/example-chef/servers/server1/config.rb.erb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/README.md +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/metadata.rb.erb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/recipes/build.rb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/recipes/install.rb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/recipes/install_host.rb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/templates/index.html.erb +0 -0
- data/lib/templates/example-chef/servers/server1/cookbooks/server1/templates/nginx-sites/default.conf.erb +0 -0
- data/readme_developers.md +0 -0
- data/temp.sh +0 -0
- data/temp/app-php.json +0 -0
- data/temp/build.sh +0 -0
- data/temp/cookbooks/temp1/recipes/build.rb +0 -0
- data/temp/run.sh +0 -0
- metadata +25 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 64818dcd8a002f703ad3e8815a65b41f41b982fa
|
|
4
|
+
data.tar.gz: b5fc7a84041278996604d286c6391e0d26ae83b5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 797b8478d848233a699374827abe591cc8674a43fed256abd4f9e4e32c3b5946e3cbba4ba56308a199a1d791d69c157c9ab8c731a04ccc36a6837a71565ad4ca
|
|
7
|
+
data.tar.gz: c16f17c1625468db57cd685e16bd567d3ec2da81f7fb55422141ad4a7766a8b2475fc965c5789662adffbe47260a3fd4655db3a22b9e8ff70c0185e0bfb8628e
|
data/CODE_OF_CONDUCT.md
CHANGED
|
File without changes
|
data/Gemfile
CHANGED
|
File without changes
|
data/LICENSE.txt
CHANGED
|
File without changes
|
data/Rakefile
CHANGED
|
File without changes
|
data/docker-builder.gemspec
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{"name":"apps-php",
|
|
2
|
+
"build":{"image_name":
|
|
3
|
+
"apps-php","build_type":"chef","base_image":{"name":"my-nginx-php","repository":"my-nginx-php","tag":"latest"}},
|
|
4
|
+
|
|
5
|
+
"install":{
|
|
6
|
+
"host":{"script_type":"chef_recipe","script":"install_host"},
|
|
7
|
+
"node":{"script_type":"chef_recipe","script":"install"}},
|
|
8
|
+
"docker":{"command":"/sbin/my_init","ports":[[8080,80]],
|
|
9
|
+
"volumes":[["/disk3/data/my-examples/apps-php/html","/var/www/html"],
|
|
10
|
+
["/disk3/data/my-examples/apps-php/log/nginx","/var/log/nginx/"]],
|
|
11
|
+
"links":[]},
|
|
12
|
+
"attributes":{"nginx":{"sitename":"mysite.local"},"apps":{"app1":{"app_name":"app1","app_env":"production","app_domain":"app1.mmx.gex","app_domain_aliases":["app1.mmx.local"]},"app2":{"app_name":"app2","app_env":"production","app_domain":"app2.mmx.gex","app_domain_aliases":["app2.mmx.local"]}}},
|
|
13
|
+
"common":{"prefix":"example-","image_prefix":"example-","dir_data":"/disk3/data/my-examples/"},
|
|
14
|
+
"base":{"image_name":"example-apps-php","container_name":"example-apps-php"}}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
|
|
2
|
+
add 'build', {
|
|
3
|
+
"image_name" => "my5",
|
|
4
|
+
'build_type' => 'chef',
|
|
5
|
+
|
|
6
|
+
"base_image" => {
|
|
7
|
+
"name" => "my-base-phusion-1604",
|
|
8
|
+
"repository" => "my-base-phusion-1604",
|
|
9
|
+
"tag" => "latest"
|
|
10
|
+
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
add 'install', {
|
|
16
|
+
"host" => {
|
|
17
|
+
'script_type' => 'chef_recipe',
|
|
18
|
+
'script' => 'install_host',
|
|
19
|
+
},
|
|
20
|
+
"node" => {
|
|
21
|
+
'script_type' => 'chef_recipe',
|
|
22
|
+
'script' => 'install',
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
add 'docker', {
|
|
30
|
+
'command' => "/sbin/my_init",
|
|
31
|
+
#"command"=> "",
|
|
32
|
+
'ports' => [
|
|
33
|
+
#[8080,80],
|
|
34
|
+
],
|
|
35
|
+
'volumes' => [
|
|
36
|
+
#['html', '/var/www/html'],
|
|
37
|
+
#['log/nginx', '/var/log/nginx/'],
|
|
38
|
+
],
|
|
39
|
+
'links' => [
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
add 'attributes', {
|
|
46
|
+
'nginx' =>{
|
|
47
|
+
"sitename" =>"mysite.local"
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# nginx
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"my","build":{"image_name":"my5","build_type":"chef","base_image":{"name":"my-base-phusion-1604","repository":"my-base-phusion-1604","tag":"latest"}},"install":{"host":{"script_type":"chef_recipe","script":"install_host"},"node":{"script_type":"chef_recipe","script":"install"}},"docker":{"command":"/sbin/my_init","ports":[],"volumes":[],"links":[]},"attributes":{"nginx":{"sitename":"mysite.local"}},"common":{"prefix":"example-","image_prefix":"example-","dir_data":"/disk3/data/my-exampless/example-base-chef"},"base":{"image_name":"example-my5","container_name":"example-my"}}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/examples/example-nginx/servers/nginx/cookbooks/nginx/templates/nginx-sites/default.conf.erb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/install_local.sh
CHANGED
|
File without changes
|
data/lib/docker_builder.rb
CHANGED
|
File without changes
|
|
@@ -21,16 +21,17 @@ node_name my_server_name
|
|
|
21
21
|
knife[:chef_node_name] = my_server_name
|
|
22
22
|
|
|
23
23
|
server_base_dir = ENV['SERVER_PATH']
|
|
24
|
-
server_cookbooks_path = File.expand_path('cookbooks', server_base_dir)
|
|
25
|
-
|
|
26
24
|
|
|
27
25
|
#client_key "#{current_dir}/dummy.pem"
|
|
28
26
|
#validation_client_name "validator"
|
|
29
27
|
|
|
28
|
+
### cookbooks
|
|
29
|
+
|
|
30
|
+
server_cookbooks_path = File.expand_path('cookbooks', server_base_dir)
|
|
31
|
+
|
|
30
32
|
cookbooks_paths = [
|
|
31
33
|
server_cookbooks_path,
|
|
32
34
|
|
|
33
|
-
#'/mnt/data/projects/mmx/docker-builder/examples/example-nginx/servers/nginx/cookbooks',
|
|
34
35
|
#File.expand_path('../temp-cookbooks', root),
|
|
35
36
|
#File.join(root, '../cookbooks'),
|
|
36
37
|
#File.join(root, '../', node_name, 'cookbooks'),
|
|
@@ -44,7 +45,7 @@ cookbooks_paths = [
|
|
|
44
45
|
|
|
45
46
|
cookbooks_paths.reject!{|f| !Dir.exists?(f)}
|
|
46
47
|
|
|
47
|
-
|
|
48
|
+
puts "cookbooks: #{cookbooks_paths.inspect}"
|
|
48
49
|
|
|
49
50
|
|
|
50
51
|
|
|
@@ -66,7 +67,7 @@ end
|
|
|
66
67
|
|
|
67
68
|
cookbook_path cookbook_path+cookbooks_paths
|
|
68
69
|
|
|
69
|
-
puts "FINAL cookbooks: #{cookbook_path}"
|
|
70
|
+
#puts "FINAL cookbooks: #{cookbook_path}"
|
|
70
71
|
|
|
71
72
|
# node name
|
|
72
73
|
knife[:force] = true
|
|
@@ -7,33 +7,28 @@ require 'chef/provisioning'
|
|
|
7
7
|
|
|
8
8
|
#
|
|
9
9
|
server_name = ENV['SERVER_NAME']
|
|
10
|
-
#puts "server: #{server_name}"
|
|
11
|
-
#puts "node: #{node['docker'].inspect}"
|
|
12
|
-
#exit
|
|
13
|
-
|
|
14
10
|
|
|
15
11
|
# settings
|
|
16
12
|
docker_options = {
|
|
17
13
|
base_image: node['build']['base_image'],
|
|
18
|
-
#base_image: 'nginx:1.10',
|
|
19
14
|
privileged: true,
|
|
20
15
|
command: node['docker']['command'] || '',
|
|
21
|
-
#command: "nginx -g 'daemon off;'",
|
|
22
|
-
#command: "",
|
|
23
|
-
|
|
24
16
|
}
|
|
25
17
|
|
|
26
|
-
#puts "
|
|
27
|
-
#puts "
|
|
18
|
+
#puts "server: #{server_name}"
|
|
19
|
+
#puts "node base = #{node['base']}"
|
|
20
|
+
#puts "image = #{node['base']['image_name']}"
|
|
21
|
+
#puts "node attr: #{node['attributes']}"
|
|
22
|
+
#puts "docker opt = #{docker_options}"
|
|
28
23
|
#exit
|
|
29
24
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
image_name = node['base']['image_name']
|
|
26
|
+
#image_name = 'example-my'
|
|
33
27
|
|
|
34
28
|
### docker image
|
|
35
29
|
with_driver 'docker'
|
|
36
|
-
machine_image node['base']['image_name'] do
|
|
30
|
+
#machine_image node['base']['image_name'] do
|
|
31
|
+
machine_image image_name do
|
|
37
32
|
action :create
|
|
38
33
|
|
|
39
34
|
#tag '0.1'
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
base_dir = File.dirname(__FILE__)
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
require 'chef/provisioning'
|
|
5
|
+
|
|
6
|
+
#
|
|
7
|
+
server_name = ENV['SERVER_NAME']
|
|
8
|
+
puts "server: #{server_name}"
|
|
9
|
+
puts "node base: #{node['base']}"
|
|
10
|
+
puts "node docker: #{node['docker'].inspect}"
|
|
11
|
+
puts "attr: #{node['attributes']}"
|
|
12
|
+
puts "image: #{node['base']['image_name']}"
|
|
13
|
+
|
|
14
|
+
#exit
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# settings
|
|
19
|
+
docker_options = {
|
|
20
|
+
base_image: 'my-base-phusion-1604',
|
|
21
|
+
privileged: true,
|
|
22
|
+
command: '/sbin/my_init',
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
#puts "image = #{settings.image_name}"
|
|
27
|
+
puts "docker opt = #{docker_options}"
|
|
28
|
+
#exit
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### docker image
|
|
35
|
+
with_driver 'docker'
|
|
36
|
+
machine_image 'example-my2' do
|
|
37
|
+
action :create
|
|
38
|
+
|
|
39
|
+
#tag '0.1'
|
|
40
|
+
|
|
41
|
+
recipe "#{server_name}::build"
|
|
42
|
+
|
|
43
|
+
# attributes
|
|
44
|
+
#node.keys.each do |k|
|
|
45
|
+
# attribute k, node[k]
|
|
46
|
+
#end
|
|
47
|
+
|
|
48
|
+
# attributes
|
|
49
|
+
#node['attributes'].keys.each do |k|
|
|
50
|
+
# attribute k, node['attributes'][k]
|
|
51
|
+
#end
|
|
52
|
+
|
|
53
|
+
#
|
|
54
|
+
machine_options docker_options: docker_options
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
@@ -8,18 +8,6 @@ server_name = ENV['SERVER_NAME']
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
# settings
|
|
11
|
-
docker_options = {
|
|
12
|
-
base_image: node['build']['base_image'],
|
|
13
|
-
privileged: true,
|
|
14
|
-
command: node['docker']['command'] || '',
|
|
15
|
-
#ports: settings.docker_ports_array,
|
|
16
|
-
#volumes: settings.docker_volumes_array,
|
|
17
|
-
#links: settings.docker_links_array
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
#puts "image = #{settings.image_name}"
|
|
21
|
-
#puts "opt = #{docker_options}"
|
|
22
|
-
|
|
23
11
|
|
|
24
12
|
### docker image
|
|
25
13
|
with_driver 'docker'
|
data/lib/docker_builder/cli.rb
CHANGED
|
@@ -37,10 +37,10 @@ class CLI < Thor
|
|
|
37
37
|
:desc => 'Path to your config.rb file.'
|
|
38
38
|
|
|
39
39
|
def build
|
|
40
|
-
puts "building..."
|
|
40
|
+
puts "building images..."
|
|
41
41
|
|
|
42
42
|
opts = options
|
|
43
|
-
puts "opt from command line: #{options.inspect}"
|
|
43
|
+
#puts "opt from command line: #{options.inspect}"
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
warnings = false
|
|
@@ -130,21 +130,17 @@ class CLI < Thor
|
|
|
130
130
|
warnings = false
|
|
131
131
|
errors = false
|
|
132
132
|
|
|
133
|
+
servers = nil
|
|
134
|
+
|
|
133
135
|
begin
|
|
134
136
|
Config.load(options)
|
|
135
|
-
puts "config: #{Config.inspect}"
|
|
136
137
|
|
|
137
138
|
Config.servers.each do |name, opts|
|
|
138
139
|
server_settings = Settings.load_settings_for_server(name)
|
|
139
140
|
|
|
140
|
-
puts "s: #{server_settings.inspect}"
|
|
141
|
-
exit
|
|
142
|
-
|
|
143
141
|
Manager.destroy_image(name, server_settings)
|
|
144
142
|
end
|
|
145
143
|
|
|
146
|
-
#raise Error, "No servers found " + "'#{ triggers.join(',') }'." if models.empty?
|
|
147
|
-
|
|
148
144
|
rescue Exception => err
|
|
149
145
|
puts "exception: #{err.inspect}"
|
|
150
146
|
raise err
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Docker builder
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
def destroy_container(name)
|
|
3
|
+
return @r unless @r.nil?
|
|
4
|
+
|
|
5
|
+
@r = Chef::Resource::Machine.new(name, run_context)
|
|
6
|
+
@r.action(:destroy)
|
|
7
|
+
|
|
8
|
+
@r
|
|
9
|
+
end
|
|
10
|
+
=end
|
|
11
|
+
|
|
12
|
+
require 'chef/resource'
|
|
13
|
+
|
|
14
|
+
class Chef
|
|
15
|
+
class Resource
|
|
16
|
+
# Missing top-level class documentation comment
|
|
17
|
+
class MyDockerContainer < Chef::Resource
|
|
18
|
+
def initialize(name, run_context = nil)
|
|
19
|
+
super
|
|
20
|
+
@resource_name = :my_docker_container
|
|
21
|
+
#@provider = Chef::Provider::RunitService
|
|
22
|
+
#@supports = { restart: true, reload: true, status: true }
|
|
23
|
+
#@action = :create
|
|
24
|
+
#@allowed_actions = [:nothing, :start, :stop, :enable, :disable, :restart, :reload, :status, :once, :hup, :cont, :term, :kill, :up, :down, :usr1, :usr2, :create]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
base_dir = File.dirname(__FILE__)
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
require_relative 'lib/settings'
|
|
5
|
+
|
|
6
|
+
#
|
|
7
|
+
server_name = ENV['SERVER_NAME']
|
|
8
|
+
settings = Settings.load_settings_for_server(server_name)
|
|
9
|
+
|
|
10
|
+
#
|
|
11
|
+
file '/home/mmx/temp/1.txt' do
|
|
12
|
+
content '<html>This is a placeholder for the home page.</html>'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
#include "#{settings.name}::install"
|
|
17
|
+
#include "phpredisadmin-php-fpm::install"
|
|
18
|
+
include_recipe "phpredisadmin-php-fpm::install"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
base_dir = File.dirname(__FILE__)
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
require_relative 'lib/settings'
|
|
5
|
+
|
|
6
|
+
#
|
|
7
|
+
require 'chef/provisioning'
|
|
8
|
+
|
|
9
|
+
#
|
|
10
|
+
server_name = ENV['SERVER_NAME']
|
|
11
|
+
settings = Settings.load_settings_for_server(server_name)
|
|
12
|
+
|
|
13
|
+
#
|
|
14
|
+
#include "#{settings.name}::install"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#resource_name :mycontainer
|
|
2
|
+
|
|
3
|
+
property :container_name, String, default: ''
|
|
4
|
+
property :data, Hash, default: {}
|
|
5
|
+
property :app_data_dir, String, default: ''
|
|
6
|
+
|
|
7
|
+
#property :docker_options, Hash, default: {}
|
|
8
|
+
|
|
9
|
+
action :stop do
|
|
10
|
+
execute 'docker s' do
|
|
11
|
+
command "docker stop #{container_name}"
|
|
12
|
+
|
|
13
|
+
ignore_failure true
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
action :destroy do
|
|
19
|
+
|
|
20
|
+
machine container_name do
|
|
21
|
+
action :destroy
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
action :create do
|
|
28
|
+
docker_volumes = data['docker']['volumes'] || []
|
|
29
|
+
docker_ports = data['docker']['ports'] || []
|
|
30
|
+
|
|
31
|
+
# create directories for volumes
|
|
32
|
+
docker_volumes.each do |d|
|
|
33
|
+
directory "#{app_data_dir}#{d}" do
|
|
34
|
+
mode '0775'
|
|
35
|
+
recursive true
|
|
36
|
+
action :create
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# run container
|
|
41
|
+
machine container_name do
|
|
42
|
+
tag '0.1'
|
|
43
|
+
|
|
44
|
+
action :create
|
|
45
|
+
|
|
46
|
+
recipe recipe_provision
|
|
47
|
+
|
|
48
|
+
#chef_environment chef_env
|
|
49
|
+
|
|
50
|
+
# attributes
|
|
51
|
+
data['attributes'].keys.each do |k|
|
|
52
|
+
attribute k, data['attributes'][k]
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
machine_options docker_options: {
|
|
57
|
+
base_image: {name: data['docker']['base_image'], repository: data['docker']['base_image'], tag: data['docker']['base_image_tag'] },
|
|
58
|
+
command: data['docker']['command'] || '',
|
|
59
|
+
privileged: true,
|
|
60
|
+
ports: docker_ports,
|
|
61
|
+
volumes: docker_volumes.map{|d| "#{app_data_dir}#{d}:#{d}"}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -74,6 +74,11 @@ class ServerSettings
|
|
|
74
74
|
return "#{bi['name']}:#{bi['tag']}"
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
+
#
|
|
78
|
+
if attributes['build']['image_name']
|
|
79
|
+
return "#{attributes['common']['image_prefix']}#{attributes['build']['image_name']}"
|
|
80
|
+
end
|
|
81
|
+
|
|
77
82
|
"#{attributes['common']['image_prefix']}#{s}"
|
|
78
83
|
end
|
|
79
84
|
|
|
@@ -284,7 +289,7 @@ class Settings
|
|
|
284
289
|
|
|
285
290
|
#
|
|
286
291
|
f = file_settings_for_server(name)
|
|
287
|
-
puts "loading server settings from #{f}"
|
|
292
|
+
#puts "loading server settings from #{f}"
|
|
288
293
|
t = File.read(f) rescue ''
|
|
289
294
|
eval(t, settings.get_binding)
|
|
290
295
|
|
|
@@ -294,10 +299,6 @@ class Settings
|
|
|
294
299
|
# from common config
|
|
295
300
|
settings.attributes['common'] = Config.options[:common]
|
|
296
301
|
|
|
297
|
-
#puts "config options = #{Config.options}"
|
|
298
|
-
#puts "settings000 = #{settings.attributes}"
|
|
299
|
-
#exit
|
|
300
|
-
|
|
301
302
|
settings
|
|
302
303
|
end
|
|
303
304
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/readme_developers.md
CHANGED
|
File without changes
|
data/temp.sh
CHANGED
|
File without changes
|
data/temp/app-php.json
CHANGED
|
File without changes
|
data/temp/build.sh
CHANGED
|
File without changes
|
|
File without changes
|
data/temp/run.sh
CHANGED
|
File without changes
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: docker-builder
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Max Ivak
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-12-
|
|
11
|
+
date: 2016-12-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -84,6 +84,19 @@ files:
|
|
|
84
84
|
- examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/app.conf.erb.1
|
|
85
85
|
- examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/default.conf.erb
|
|
86
86
|
- examples/example-apps-php/servers/apps-php/readme.md
|
|
87
|
+
- examples/example-apps-php/temp/apps-php.1.json
|
|
88
|
+
- examples/example-base-chef/.chef/knife.rb
|
|
89
|
+
- examples/example-base-chef/config.rb
|
|
90
|
+
- examples/example-base-chef/readme.md
|
|
91
|
+
- examples/example-base-chef/servers/my/.chef/knife.rb
|
|
92
|
+
- examples/example-base-chef/servers/my/config.rb
|
|
93
|
+
- examples/example-base-chef/servers/my/cookbooks/my/README.md
|
|
94
|
+
- examples/example-base-chef/servers/my/cookbooks/my/metadata.rb
|
|
95
|
+
- examples/example-base-chef/servers/my/cookbooks/my/recipes/build.rb
|
|
96
|
+
- examples/example-base-chef/servers/my/cookbooks/my/recipes/install.rb
|
|
97
|
+
- examples/example-base-chef/servers/my/cookbooks/my/recipes/install_host.rb
|
|
98
|
+
- examples/example-base-chef/servers/my/readme.md
|
|
99
|
+
- examples/example-base-chef/temp/my.json
|
|
87
100
|
- examples/example-kafka-zookeeper/config.rb
|
|
88
101
|
- examples/example-kafka-zookeeper/servers/kafka/Dockerfile
|
|
89
102
|
- examples/example-kafka-zookeeper/servers/kafka/README.md
|
|
@@ -113,6 +126,7 @@ files:
|
|
|
113
126
|
- lib/docker_builder/chef/.chef/knife.rb
|
|
114
127
|
- lib/docker_builder/chef/chef_build_image.copy0.rb
|
|
115
128
|
- lib/docker_builder/chef/chef_build_image.rb
|
|
129
|
+
- lib/docker_builder/chef/chef_build_image_debug1.rb
|
|
116
130
|
- lib/docker_builder/chef/chef_destroy_container.rb
|
|
117
131
|
- lib/docker_builder/chef/chef_destroy_image.copy0.rb
|
|
118
132
|
- lib/docker_builder/chef/chef_destroy_image.rb
|
|
@@ -125,6 +139,15 @@ files:
|
|
|
125
139
|
- lib/docker_builder/config.rb
|
|
126
140
|
- lib/docker_builder/config/dsl.rb
|
|
127
141
|
- lib/docker_builder/config/helpers.rb
|
|
142
|
+
- lib/docker_builder/cookbooks/docker-builder/README.md
|
|
143
|
+
- lib/docker_builder/cookbooks/docker-builder/libraries/docker_containers_lib.rb
|
|
144
|
+
- lib/docker_builder/cookbooks/docker-builder/libraries/myhelpers.rb
|
|
145
|
+
- lib/docker_builder/cookbooks/docker-builder/libraries/resource_mycontainer.rb
|
|
146
|
+
- lib/docker_builder/cookbooks/docker-builder/metadata.rb
|
|
147
|
+
- lib/docker_builder/cookbooks/docker-builder/recipes/destroy_container.rb
|
|
148
|
+
- lib/docker_builder/cookbooks/docker-builder/recipes/install_container.rb
|
|
149
|
+
- lib/docker_builder/cookbooks/docker-builder/recipes/provision_container.rb
|
|
150
|
+
- lib/docker_builder/cookbooks/docker-builder/resources/mycontainer.rb
|
|
128
151
|
- lib/docker_builder/manager.rb
|
|
129
152
|
- lib/docker_builder/server_settings.rb
|
|
130
153
|
- lib/docker_builder/version.rb
|