docker-builder 0.1.50 → 0.1.55
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/{Rakefile → Rakefile_temp} +8 -7
- data/install_local.sh +1 -1
- data/lib/docker_builder.rb +4 -1
- data/lib/docker_builder/cli.rb +23 -56
- data/lib/docker_builder/config.rb +75 -34
- data/lib/docker_builder/config/dsl.rb +17 -1
- data/lib/docker_builder/{manager.rb → manager_container.rb} +25 -308
- data/lib/docker_builder/manager_image.rb +103 -0
- data/lib/docker_builder/provisioner/base.rb +188 -0
- data/lib/docker_builder/provisioner/{provisioner_chef.rb → chef.rb} +5 -1
- data/lib/docker_builder/server_settings.rb +34 -64
- data/lib/docker_builder/version.rb +1 -1
- data/readme.md +118 -79
- data/temp_config.rb +17 -0
- metadata +8 -58
- data/examples/example-apps-php/.chef/knife.rb +0 -6
- data/examples/example-apps-php/config.rb +0 -19
- data/examples/example-apps-php/servers/apps-php/.chef/knife.rb +0 -2
- data/examples/example-apps-php/servers/apps-php/config.rb +0 -69
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/README.md +0 -1
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/metadata.rb +0 -9
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/build.rb +0 -43
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install.rb +0 -55
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install_app.rb +0 -27
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/recipes/install_host.rb +0 -9
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/index.html.erb +0 -4
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/app.conf.erb +0 -55
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/app.conf.erb.1 +0 -55
- data/examples/example-apps-php/servers/apps-php/cookbooks/apps-php/templates/nginx-sites/default.conf.erb +0 -45
- data/examples/example-apps-php/servers/apps-php/readme.md +0 -0
- data/examples/example-apps-php/temp/apps-php.1.json +0 -14
- data/examples/example-base-chef/.chef/knife.rb +0 -6
- data/examples/example-base-chef/config.rb +0 -19
- data/examples/example-base-chef/readme.md +0 -8
- data/examples/example-base-chef/servers/my/.chef/knife.rb +0 -2
- data/examples/example-base-chef/servers/my/config.rb +0 -53
- data/examples/example-base-chef/servers/my/cookbooks/my/README.md +0 -1
- data/examples/example-base-chef/servers/my/cookbooks/my/metadata.rb +0 -9
- data/examples/example-base-chef/servers/my/cookbooks/my/recipes/build.rb +0 -23
- 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 +0 -9
- data/examples/example-base-chef/servers/my/readme.md +0 -0
- data/examples/example-kafka-zookeeper/config.rb +0 -87
- data/examples/example-kafka-zookeeper/servers/kafka/Dockerfile +0 -21
- data/examples/example-kafka-zookeeper/servers/kafka/README.md +0 -78
- data/examples/example-kafka-zookeeper/servers/kafka/files/LICENSE +0 -202
- data/examples/example-kafka-zookeeper/servers/kafka/files/broker-list.sh +0 -5
- data/examples/example-kafka-zookeeper/servers/kafka/files/create-topics.sh +0 -32
- data/examples/example-kafka-zookeeper/servers/kafka/files/download-kafka.sh +0 -5
- data/examples/example-kafka-zookeeper/servers/kafka/files/start-kafka-shell.sh +0 -2
- data/examples/example-kafka-zookeeper/servers/kafka/files/start-kafka.sh +0 -67
- data/examples/example-nginx/config.rb +0 -19
- data/examples/example-nginx/servers/nginx/.chef/knife.rb +0 -8
- data/examples/example-nginx/servers/nginx/config.rb +0 -55
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/README.md +0 -1
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/metadata.rb +0 -9
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/build.rb +0 -10
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/install.rb +0 -28
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/recipes/install_host.rb +0 -9
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/templates/index.html.erb +0 -4
- data/examples/example-nginx/servers/nginx/cookbooks/nginx/templates/nginx-sites/default.conf.erb +0 -45
- data/examples/example-nginx/servers/nginx/readme.md +0 -0
- data/examples/example-nginx/servers/nginx/scripts/install.sh +0 -3
- data/examples/example-nginx/temp/ex_nginx.json +0 -20
- data/examples/example-nginx/temp/nginx.json +0 -1
- data/examples/example-swarm-redis/config.rb +0 -61
- data/examples/example-swarm-redis/readme.md +0 -10
- data/lib/docker_builder/temp.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 900f989de3f0c47d40b6494a9e419acd6ca42324
|
4
|
+
data.tar.gz: 491ee67ea44c3564aed1c1492b9f79198a69f9ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9613b5f3f6800d10c304ce9684dba601eab390abf7eec04f33db24893b390910bd2a59b5335dba6940b0e58029dd9cbe0c750923b2fff58e36636daba161d19c
|
7
|
+
data.tar.gz: 02022477d3b197ab3a17100fecffdda1542db020637af80b7b0d728bbbb86c1e21b0c9a6472f2a9b265876279a93128e28c7ba1a0c98f88e60b29ddb363985e6
|
data/{Rakefile → Rakefile_temp}
RENAMED
@@ -7,7 +7,8 @@ SERVERS = %w(redis mysql elasticsearch phpmyadmin phpredisadmin apps-ruby nginx
|
|
7
7
|
|
8
8
|
#
|
9
9
|
require_relative 'lib/docker_builder/server_settings'
|
10
|
-
require_relative 'lib/docker_builder/
|
10
|
+
require_relative 'lib/docker_builder/manager_image'
|
11
|
+
require_relative 'lib/docker_builder/manager_container'
|
11
12
|
|
12
13
|
|
13
14
|
|
@@ -15,14 +16,14 @@ require_relative 'lib/docker_builder/manager'
|
|
15
16
|
desc "Build image"
|
16
17
|
task :build, [:name] do |task, args|
|
17
18
|
#name = args[:name]
|
18
|
-
|
19
|
+
ManagerImage.build_image(name)
|
19
20
|
#sh "sh build_#{name}.sh"
|
20
21
|
end
|
21
22
|
|
22
23
|
desc "Destroy image"
|
23
24
|
task :destroy_image, [:name] do |task, args|
|
24
25
|
name = args[:name]
|
25
|
-
|
26
|
+
ManagerImage.destroy_image(name)
|
26
27
|
end
|
27
28
|
|
28
29
|
|
@@ -39,14 +40,14 @@ end
|
|
39
40
|
desc "Run container"
|
40
41
|
task :run, [:name] do |task, args|
|
41
42
|
name = args[:name]
|
42
|
-
|
43
|
+
ManagerContainer.run_container(name)
|
43
44
|
end
|
44
45
|
|
45
46
|
|
46
47
|
desc "Start container"
|
47
48
|
task :start, [:name] do |task, args|
|
48
49
|
name = args[:name]
|
49
|
-
|
50
|
+
ManagerContainer.start_container(name)
|
50
51
|
end
|
51
52
|
|
52
53
|
desc "Restart container"
|
@@ -59,7 +60,7 @@ end
|
|
59
60
|
|
60
61
|
desc "Destroy container"
|
61
62
|
task :destroy, [:name] do |task, args|
|
62
|
-
|
63
|
+
ManagerContainer.destroy_container(args[:name])
|
63
64
|
end
|
64
65
|
|
65
66
|
=begin
|
@@ -135,6 +136,6 @@ end
|
|
135
136
|
|
136
137
|
desc 'Exec task, run_test[name,recipe_name]'
|
137
138
|
task :exec, [:name, :recipe_name] do |task, args|
|
138
|
-
|
139
|
+
ManagerContainer.exec_task(args[:name], args[:recipe_name])
|
139
140
|
|
140
141
|
end
|
data/install_local.sh
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
gem build docker-builder.gemspec
|
2
|
-
gem install ./docker-builder-0.1.
|
2
|
+
gem install ./docker-builder-0.1.54.gem
|
data/lib/docker_builder.rb
CHANGED
data/lib/docker_builder/cli.rb
CHANGED
@@ -46,46 +46,20 @@ class CLI < Thor
|
|
46
46
|
warnings = false
|
47
47
|
errors = false
|
48
48
|
|
49
|
-
|
50
|
-
servers = nil
|
51
49
|
begin
|
52
50
|
Config.load(options)
|
53
51
|
|
54
|
-
|
55
|
-
|
56
|
-
#exit
|
57
|
-
|
58
|
-
Config.servers.each do |name, opts|
|
59
|
-
server_settings = Settings.load_settings_for_server(name)
|
52
|
+
Config.servers.each do |name, server_settings|
|
53
|
+
#server_settings = Settings.load_settings_for_server(name)
|
60
54
|
|
61
55
|
#puts "s: #{server_settings.inspect}"
|
62
|
-
#exit
|
63
56
|
|
64
|
-
|
65
|
-
|
57
|
+
ManagerImage.destroy_image(name, server_settings)
|
58
|
+
ManagerImage.build_image(name, server_settings)
|
66
59
|
end
|
67
60
|
|
68
61
|
|
69
|
-
#servers = options[:server].split(',').map(&:strip)
|
70
|
-
#models = triggers.map {|trigger|
|
71
|
-
# Model.find_by_trigger(trigger)
|
72
|
-
#}.flatten.uniq
|
73
|
-
|
74
|
-
#raise Error, "No servers found " + "'#{ triggers.join(',') }'." if models.empty?
|
75
|
-
|
76
|
-
# Finalize Logger and begin real-time logging.
|
77
|
-
#Logger.start!
|
78
|
-
|
79
62
|
rescue Exception => err
|
80
|
-
#Logger.error Error.wrap(err)
|
81
|
-
#unless Helpers.is_backup_error? err
|
82
|
-
# Logger.error err.backtrace.join("\n")
|
83
|
-
#end
|
84
|
-
|
85
|
-
# Logger configuration will be ignored
|
86
|
-
# and messages will be output to the console only.
|
87
|
-
#Logger.abort!
|
88
|
-
|
89
63
|
puts "exception: #{err.inspect}"
|
90
64
|
raise err
|
91
65
|
exit(3)
|
@@ -130,15 +104,13 @@ class CLI < Thor
|
|
130
104
|
warnings = false
|
131
105
|
errors = false
|
132
106
|
|
133
|
-
servers = nil
|
134
|
-
|
135
107
|
begin
|
136
108
|
Config.load(options)
|
137
109
|
|
138
|
-
Config.servers.each do |name,
|
139
|
-
server_settings = Settings.load_settings_for_server(name)
|
110
|
+
Config.servers.each do |name, server_settings|
|
111
|
+
#server_settings = Settings.load_settings_for_server(name)
|
140
112
|
|
141
|
-
|
113
|
+
ManagerImage.destroy_image(name, server_settings)
|
142
114
|
end
|
143
115
|
|
144
116
|
rescue Exception => err
|
@@ -189,19 +161,18 @@ class CLI < Thor
|
|
189
161
|
errors = false
|
190
162
|
|
191
163
|
|
192
|
-
servers = nil
|
193
164
|
begin
|
194
165
|
Config.load(options)
|
195
166
|
|
196
|
-
Config.servers.each do |name,
|
197
|
-
server_settings = Settings.load_settings_for_server(name)
|
167
|
+
Config.servers.each do |name, server_settings|
|
168
|
+
#server_settings = Settings.load_settings_for_server(name)
|
198
169
|
|
199
170
|
if server_settings.is_swarm_mode?
|
200
171
|
ManagerSwarm.destroy_service(name, server_settings)
|
201
172
|
ManagerSwarm.create_service(name, server_settings)
|
202
173
|
else
|
203
|
-
|
204
|
-
|
174
|
+
ManagerContainer.destroy_container(name, server_settings)
|
175
|
+
ManagerContainer.run_container(name, server_settings)
|
205
176
|
end
|
206
177
|
|
207
178
|
end
|
@@ -255,10 +226,10 @@ class CLI < Thor
|
|
255
226
|
begin
|
256
227
|
Config.load(options)
|
257
228
|
|
258
|
-
Config.servers.each do |name,
|
259
|
-
server_settings = Settings.load_settings_for_server(name)
|
229
|
+
Config.servers.each do |name, server_settings|
|
230
|
+
#server_settings = Settings.load_settings_for_server(name)
|
260
231
|
|
261
|
-
|
232
|
+
ManagerContainer.start_container(name, server_settings)
|
262
233
|
end
|
263
234
|
|
264
235
|
rescue Exception => err
|
@@ -309,18 +280,16 @@ class CLI < Thor
|
|
309
280
|
warnings = false
|
310
281
|
errors = false
|
311
282
|
|
312
|
-
|
313
|
-
servers = nil
|
314
283
|
begin
|
315
284
|
Config.load(options)
|
316
285
|
|
317
|
-
Config.servers.each do |name,
|
318
|
-
server_settings = Settings.load_settings_for_server(name)
|
286
|
+
Config.servers.each do |name, server_settings|
|
287
|
+
#server_settings = Settings.load_settings_for_server(name)
|
319
288
|
|
320
289
|
if server_settings.is_swarm_mode?
|
321
290
|
ManagerSwarm.destroy_service(name, server_settings)
|
322
291
|
else
|
323
|
-
|
292
|
+
ManagerContainer.destroy_container(name, server_settings)
|
324
293
|
end
|
325
294
|
|
326
295
|
end
|
@@ -375,14 +344,13 @@ class CLI < Thor
|
|
375
344
|
errors = false
|
376
345
|
|
377
346
|
|
378
|
-
servers = nil
|
379
347
|
begin
|
380
348
|
Config.load(options)
|
381
349
|
|
382
|
-
Config.servers.each do |name,
|
383
|
-
server_settings = Settings.load_settings_for_server(name)
|
350
|
+
Config.servers.each do |name, server_settings|
|
351
|
+
#server_settings = Settings.load_settings_for_server(name)
|
384
352
|
|
385
|
-
|
353
|
+
ManagerContainer.stop_container(name, server_settings)
|
386
354
|
end
|
387
355
|
|
388
356
|
rescue Exception => err
|
@@ -435,14 +403,13 @@ class CLI < Thor
|
|
435
403
|
warnings = false
|
436
404
|
errors = false
|
437
405
|
|
438
|
-
servers = nil
|
439
406
|
begin
|
440
407
|
Config.load(options)
|
441
408
|
|
442
|
-
Config.servers.each do |name,
|
443
|
-
server_settings = Settings.load_settings_for_server(name)
|
409
|
+
Config.servers.each do |name, server_settings|
|
410
|
+
#server_settings = Settings.load_settings_for_server(name)
|
444
411
|
|
445
|
-
|
412
|
+
ManagerContainer.clear_cache(name, server_settings)
|
446
413
|
end
|
447
414
|
|
448
415
|
rescue Exception => err
|
@@ -16,7 +16,8 @@ module DockerBuilder
|
|
16
16
|
class << self
|
17
17
|
#include Utilities::Helpers
|
18
18
|
|
19
|
-
attr_reader :servers, :
|
19
|
+
attr_reader :servers, :options,
|
20
|
+
:root_path, :config_file, :tmp_path
|
20
21
|
|
21
22
|
|
22
23
|
# Define on self, since it's a class method
|
@@ -36,9 +37,10 @@ module DockerBuilder
|
|
36
37
|
|
37
38
|
# Loads the user's +config.rb+ and all model files.
|
38
39
|
def load(opts = {})
|
39
|
-
puts "update opts from #{opts}"
|
40
40
|
update(opts) # from the command line
|
41
41
|
|
42
|
+
#config_file = 'temp_config.rb'
|
43
|
+
|
42
44
|
puts "config file: #{config_file}"
|
43
45
|
|
44
46
|
unless File.exist?(config_file)
|
@@ -46,27 +48,40 @@ module DockerBuilder
|
|
46
48
|
raise "Could not find configuration file: '#{config_file}'."
|
47
49
|
end
|
48
50
|
|
49
|
-
|
50
|
-
|
51
|
-
#version = DockerBuilder::VERSION.split('.').first
|
52
|
-
#unless config =~ /^# Backup v#{ version }\.x Configuration$/
|
53
|
-
# raise Error, <<-EOS
|
54
|
-
# Invalid Configuration File
|
55
|
-
# EOS
|
56
|
-
#end
|
51
|
+
text_config = File.read(config_file)
|
57
52
|
|
58
53
|
dsl = DSL.new
|
59
|
-
dsl.instance_eval(
|
54
|
+
dsl.instance_eval(text_config, config_file)
|
60
55
|
|
56
|
+
# set options from dsl object
|
61
57
|
update(dsl._config_options) # from config.rb
|
62
|
-
|
58
|
+
# command line takes precedence
|
59
|
+
update(opts)
|
63
60
|
|
64
61
|
#Dir[File.join(File.dirname(config_file), 'models', '*.rb')].each do |model|
|
65
62
|
# dsl.instance_eval(File.read(model), model)
|
66
63
|
#end
|
67
64
|
|
68
65
|
# servers
|
69
|
-
|
66
|
+
# Identify all servers
|
67
|
+
if @options['server']
|
68
|
+
srv_name = @options['server'] || @options[:server]
|
69
|
+
# one server
|
70
|
+
@servers = {srv_name => dsl._config_servers[srv_name]}
|
71
|
+
else
|
72
|
+
# all servers
|
73
|
+
@servers = dsl._config_servers
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
@servers.each do |name, sc|
|
78
|
+
# from common config
|
79
|
+
sc.common_config = self
|
80
|
+
sc.properties['name'] ||= name
|
81
|
+
#sc.properties['common'] = Config.options[:common]
|
82
|
+
end
|
83
|
+
|
84
|
+
|
70
85
|
|
71
86
|
end
|
72
87
|
|
@@ -88,21 +103,57 @@ module DockerBuilder
|
|
88
103
|
@options
|
89
104
|
end
|
90
105
|
|
91
|
-
def servers
|
92
|
-
options[:servers]
|
93
|
-
|
106
|
+
#def servers
|
107
|
+
#options[:servers]
|
108
|
+
#@_servers || []
|
109
|
+
#end
|
94
110
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
111
|
+
|
112
|
+
### NOT USED
|
113
|
+
## TODO: refactor
|
114
|
+
def self.load_settings_for_server(name, opts={})
|
115
|
+
settings = ServerSettings.new
|
116
|
+
|
117
|
+
settings.set 'name', name
|
118
|
+
|
119
|
+
# set from main Config
|
120
|
+
Config.servers[name].each do |k,v|
|
121
|
+
settings.properties[k]=v
|
103
122
|
end
|
104
123
|
|
105
124
|
|
125
|
+
#puts "current=#{File.dirname(__FILE__)}"
|
126
|
+
#puts "ff=#{file_base_settings}"
|
127
|
+
|
128
|
+
#
|
129
|
+
#t = File.read(file_base_settings) rescue ''
|
130
|
+
#eval(t, settings.get_binding)
|
131
|
+
|
132
|
+
|
133
|
+
#
|
134
|
+
f = file_settings_for_server(name)
|
135
|
+
t = File.read(f) rescue ''
|
136
|
+
eval(t, settings.get_binding)
|
137
|
+
|
138
|
+
#
|
139
|
+
settings.properties['name'] ||= name
|
140
|
+
|
141
|
+
# from common config
|
142
|
+
settings.properties['common'] = Config.options[:common]
|
143
|
+
|
144
|
+
settings
|
145
|
+
end
|
146
|
+
|
147
|
+
|
148
|
+
### helpers
|
149
|
+
|
150
|
+
def self.file_settings_for_server(name)
|
151
|
+
#File.join(File.dirname(__FILE__), '..', 'config', "#{name}.rb")
|
152
|
+
File.join(Config.root_path, 'servers', name, 'config.rb')
|
153
|
+
end
|
154
|
+
|
155
|
+
def self.file_server_base_settings
|
156
|
+
File.join(File.dirname(__FILE__), '..', 'config' ,'common.rb')
|
106
157
|
end
|
107
158
|
|
108
159
|
|
@@ -119,23 +170,17 @@ module DockerBuilder
|
|
119
170
|
#puts "root from opts = #{root_path}"
|
120
171
|
|
121
172
|
if root_path.empty?
|
122
|
-
#puts " set default"
|
123
173
|
root_path = File.path(Dir.getwd)
|
124
|
-
#puts "default root = #{root_path}"
|
125
174
|
end
|
126
175
|
|
127
176
|
new_root = root_path.empty? ? false : set_root_path(root_path)
|
128
177
|
|
129
|
-
#puts "FINAL root= #{@root_path}"
|
130
|
-
#exit
|
131
|
-
|
132
178
|
DEFAULTS.each do |name, ending|
|
133
179
|
set_path_variable(name, options[name], ending, new_root)
|
134
180
|
end
|
135
181
|
|
136
182
|
# options
|
137
183
|
opts.each do |name, v|
|
138
|
-
#puts "set var #{name} == #{v}"
|
139
184
|
set_variable(name, v)
|
140
185
|
end
|
141
186
|
|
@@ -147,8 +192,6 @@ module DockerBuilder
|
|
147
192
|
# Sets the @root_path to the given +path+ and returns it.
|
148
193
|
# Raises an error if the given +path+ does not exist.
|
149
194
|
def set_root_path(path)
|
150
|
-
#puts "set path = #{path}"
|
151
|
-
|
152
195
|
# allows #reset! to set the default @root_path,
|
153
196
|
# then use #update to set all other paths,
|
154
197
|
# without requiring that @root_path exist.
|
@@ -156,8 +199,6 @@ module DockerBuilder
|
|
156
199
|
|
157
200
|
path = File.expand_path(path)
|
158
201
|
|
159
|
-
#puts " res root path=#{path}"
|
160
|
-
|
161
202
|
unless File.directory?(path)
|
162
203
|
raise Error, <<-EOS
|
163
204
|
Root Path Not Found
|
@@ -8,9 +8,11 @@ module DockerBuilder
|
|
8
8
|
#Server = DockerBuilder::Server
|
9
9
|
|
10
10
|
attr_reader :_config_options
|
11
|
+
attr_reader :_config_servers
|
11
12
|
|
12
13
|
def initialize
|
13
14
|
@_config_options = {}
|
15
|
+
@_config_servers = {}
|
14
16
|
end
|
15
17
|
|
16
18
|
# Allow users to set command line path options in config.rb
|
@@ -18,12 +20,26 @@ module DockerBuilder
|
|
18
20
|
define_method name, lambda {|path| _config_options[name] = path }
|
19
21
|
end
|
20
22
|
|
23
|
+
# options - common
|
24
|
+
[
|
25
|
+
:prefix, :image_prefix, :container_prefix, :service_prefix,
|
26
|
+
:dir_data
|
27
|
+
].each do |name|
|
28
|
+
define_method name, lambda {|path| _config_options[name] = path }
|
29
|
+
end
|
30
|
+
|
21
31
|
# allowed options
|
22
|
-
[:
|
32
|
+
[:common, :base].each do |name|
|
23
33
|
define_method name, lambda {|v| _config_options[name] = v }
|
24
34
|
end
|
25
35
|
|
26
36
|
|
37
|
+
def server(server_name, &block)
|
38
|
+
sc = ServerSettings.new
|
39
|
+
block.call(sc)
|
40
|
+
#sc.instance_eval(&block)
|
41
|
+
_config_servers[server_name] = sc
|
42
|
+
end
|
27
43
|
|
28
44
|
# Allows users to create preconfigured models.
|
29
45
|
=begin
|