decking 0.0.2 → 0.0.4
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/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
|