decking 0.0.2 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/bin/decking +17 -0
- data/lib/decking/container/start.rb +1 -1
- data/lib/decking/parser.rb +6 -6
- data/lib/decking/version.rb +1 -1
- data/spec/resources/decking-container-tests.yaml +2 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 137023f8b0cee236fbc5612645883599181aa57c
|
4
|
+
data.tar.gz: 6113261cd16e5f695baf937476c02fa0cae5c6a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9cde73896e63d00db56db0e273f84beb560d418c4e4ad03fc68c83ce66c1b26c175eeadb298ea12adbd812c0a9fe4d61348a40ea3393a9eca52ea775d69f1ba2
|
7
|
+
data.tar.gz: bcd1ef4c2e421304b8005a85cc0c95e96b0ebaa6c69f10f40d03ee84b33f6f21bfbd9a3694a30a17e6924d4b70fd833dc961adfd35791f082f058b4c32c25b78
|
data/Gemfile.lock
CHANGED
data/bin/decking
CHANGED
@@ -6,6 +6,16 @@ require 'decking'
|
|
6
6
|
module Decking::CLI
|
7
7
|
@@logger = Log4r::Logger.new('decking::cli')
|
8
8
|
extend GLI::App
|
9
|
+
|
10
|
+
accept(Hash) do |value|
|
11
|
+
result = {}
|
12
|
+
value.split(/,/).each do |pair|
|
13
|
+
k,v = pair.split(/=/)
|
14
|
+
result[k] = v
|
15
|
+
end
|
16
|
+
result
|
17
|
+
end
|
18
|
+
|
9
19
|
sort_help :manually
|
10
20
|
subcommand_option_handling :normal
|
11
21
|
config_file '.deckingrc'
|
@@ -18,11 +28,18 @@ module Decking::CLI
|
|
18
28
|
desc 'The name of the cluster to use for all commands'
|
19
29
|
flag [:cluster], :default_value => "unknown"
|
20
30
|
|
31
|
+
desc 'Add or override environment variables on all containers in cluster'
|
32
|
+
flag [:e, :env], :type => Hash, :default_value => {}
|
21
33
|
|
22
34
|
pre do |global_options,options,args|
|
23
35
|
@@logger.debug "Using #{global_options[:config]} for decking config"
|
24
36
|
Decking::Parser.config_file global_options[:config]
|
25
37
|
Decking::Parser.parse global_options[:cluster]
|
38
|
+
if !global_options[:env].nil?
|
39
|
+
Decking::Parser.config.containers.each_key do |container|
|
40
|
+
global_options[:env].each{|k, v| Decking::Parser.config.containers[container].env[k] = v}
|
41
|
+
end
|
42
|
+
end
|
26
43
|
Decking::Parser.config.containers.map { |name, config| Decking::Container.add config }
|
27
44
|
end
|
28
45
|
|
@@ -15,7 +15,7 @@ module Decking
|
|
15
15
|
port_bindings[vars[0]] = [ { 'HostPort' => vars[0] } ]
|
16
16
|
end
|
17
17
|
end
|
18
|
-
Docker::Container.get(name).start! 'Links'
|
18
|
+
Docker::Container.get(name).start! 'Links' => links,
|
19
19
|
'Binds' => binds,
|
20
20
|
'LxcConf' => lxc_conf,
|
21
21
|
'PortBindings' => port_bindings
|
data/lib/decking/parser.rb
CHANGED
@@ -97,7 +97,6 @@ module Decking
|
|
97
97
|
if (!config.clusters[key].key? 'group') && (config.groups.key? key)
|
98
98
|
config.clusters[key].group = key
|
99
99
|
end
|
100
|
-
|
101
100
|
raise "Cluster '" + key + "' is empty" unless config.clusters[key].key? "containers"
|
102
101
|
raise "Cluster '" + key + "' containers should be an Array" unless config.clusters[key].containers.instance_of? Array
|
103
102
|
end
|
@@ -105,7 +104,6 @@ module Decking
|
|
105
104
|
|
106
105
|
def parse_groups
|
107
106
|
config.groups.each do |key, val|
|
108
|
-
config.groups[key] = Hashie::Mash.new if config.groups[key].nil?
|
109
107
|
config.groups[key].options = Hashie::Mash.new unless config.groups[key].key? 'options'
|
110
108
|
config.groups[key].containers = Hashie::Mash.new unless config.groups[key].key? 'containers'
|
111
109
|
config.groups[key].containers.each do |c_key, c_val|
|
@@ -132,10 +130,12 @@ module Decking
|
|
132
130
|
# Merge Global Overrides
|
133
131
|
c.containers[k] = c.containers[k].deep_merge(config.global) if config.key? 'global'
|
134
132
|
# Merge Group Overrides
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
133
|
+
unless config.clusters[cluster].group.nil?
|
134
|
+
c.containers[k] = c.containers[k].deep_merge(config.groups[config.clusters[cluster].group].options)
|
135
|
+
# Merge Group Container Overrides
|
136
|
+
if config.groups[config.clusters[cluster].group].containers.key? k
|
137
|
+
c.containers[k] = c.containers[k].deep_merge(config.groups[config.clusters[cluster].group].containers[k])
|
138
|
+
end
|
139
139
|
end
|
140
140
|
c.containers[k].name = k + '.' + cluster
|
141
141
|
c.containers[k].env.CONTAINER_NAME = k + '.' + cluster
|
data/lib/decking/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decking
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Randy D. Wallace Jr.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|