docker-builder 0.1.50 → 0.1.55
Sign up to get free protection for your applications and to get access to all the features.
- 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
|