docker_boss 0.1.3 → 0.1.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/README.md +3 -2
- data/lib/docker_boss/cli.rb +9 -0
- data/lib/docker_boss/modules/etcd.rb +3 -0
- data/lib/docker_boss/version.rb +1 -1
- 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: 5c03ceae67ce9ce3052da36aeee4d4c69e39a8d5
|
4
|
+
data.tar.gz: 33ba01946a3c6349e8c31d72fa28b8a2bdcd7b58
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 374c2b5725ac24feab755bfa0a61127e6983a4bde7768c397b7d04ef4f2196b7378e7672fb77a662b08a1243054cbef730cd5d1839f4c233cba86ccdd2efa7ec
|
7
|
+
data.tar.gz: efdbd8dfd6e725dd8a76f914f6840c72edb43bbafaab8d0d654c38de36ab9dc1b389f51a6af77b5661297564ac0f1b5b31837d6abef02b5406c33d063e625819
|
data/README.md
CHANGED
@@ -255,6 +255,7 @@ The `server` setting defines the host and port of the etcd server. SSL and basic
|
|
255
255
|
The `setup` setting is a template, each line of which can manipulate keys in etcd. These key manipulations are run once when the module/DockerBoss starts, and can be used to ensure a clean slate, free of any old keys from a previous run. The `setup` template can use the `interface_ipv4` and `interface_ipv6` helpers. Each line must follow one of the following formats:
|
256
256
|
|
257
257
|
- `ensure <key> <value>` - sets a given key in etcd to the given value.
|
258
|
+
- `ensure_dir <key>` - creates the given key as a directory in etcd.
|
258
259
|
- `absent <key>` - removes a given key in etcd.
|
259
260
|
- `absent_recursive <key>` removes a key and all its children.
|
260
261
|
|
@@ -275,13 +276,13 @@ etcd:
|
|
275
276
|
setup: |
|
276
277
|
absent_recursive /skydns/docker
|
277
278
|
absent_recursive /vhosts
|
278
|
-
ensure /skydns/docker/dockerhost/etcd <%= as_json(host: interface_ipv4('docker0'), port:
|
279
|
+
ensure /skydns/docker/dockerhost/etcd <%= as_json(host: interface_ipv4('docker0'), port: 4001) %>
|
279
280
|
|
280
281
|
sets:
|
281
282
|
skydns: |
|
282
283
|
<% if container['Config']['Env'].has_key? 'SERVICES' %>
|
283
284
|
<% container['Config']['Env']['SERVICES'].split(',').each do |s| %>
|
284
|
-
ensure <%= "/skydns/#{s.split(':')[0].split('.').reverse.join('/')}" %> <%= as_json(host: container['NetworkSettings']['IPAddress'], port: s.split(':')[1]) %>
|
285
|
+
ensure <%= "/skydns/#{s.split(':')[0].split('.').reverse.join('/')}" %> <%= as_json(host: container['NetworkSettings']['IPAddress'], port: s.split(':')[1].to_i) %>
|
285
286
|
<% end %>
|
286
287
|
<% elsif container['Config']['Env'].has_key? 'SERVICE_NAME' %>
|
287
288
|
ensure <%= "/skydns/#{container['Config']['Env']['SERVICE_NAME'].split('.').reverse.join('/')}" %> <%= as_json(host: container['NetworkSettings']['IPAddress']) %>
|
data/lib/docker_boss/cli.rb
CHANGED
@@ -44,6 +44,15 @@ class DockerBoss::CLI < Thor
|
|
44
44
|
rescue Docker::Error::DockerError => e
|
45
45
|
DockerBoss.logger.fatal "Error communicating with Docker: #{e.message}"
|
46
46
|
exit 1
|
47
|
+
rescue SignalException => e
|
48
|
+
case Signal.signame(e.signo)
|
49
|
+
when "TERM", "INT"
|
50
|
+
DockerBoss.logger.info "Received SIGTERM/SIGINT, shutting down."
|
51
|
+
exit 0
|
52
|
+
else
|
53
|
+
DockerBoss.logger.fatal "Fatal unhandled signal in event loop: #{Signal.signame(e.signo)}"
|
54
|
+
e.backtrace.each { |line| DockerBoss.logger.fatal " #{line}" }
|
55
|
+
end
|
47
56
|
rescue Exception => e
|
48
57
|
DockerBoss.logger.fatal "Fatal unhandled exception in event loop: #{e.class.name} -> #{e.message}"
|
49
58
|
e.backtrace.each { |line| DockerBoss.logger.fatal " #{line}" }
|
@@ -34,6 +34,9 @@ class DockerBoss::Module::Etcd < DockerBoss::Module
|
|
34
34
|
@client.delete(k, recursive: true)
|
35
35
|
rescue ::Etcd::KeyNotFound
|
36
36
|
end
|
37
|
+
when 'ensure_dir'
|
38
|
+
DockerBoss.logger.debug "etcd: (setup) Set key `#{k}` (dir)"
|
39
|
+
@client.set(k, dir: true)
|
37
40
|
when 'ensure'
|
38
41
|
DockerBoss.logger.debug "etcd: (setup) Set key `#{k}` => `#{v}`"
|
39
42
|
@client.set(k, value: v)
|
data/lib/docker_boss/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docker_boss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Hornung
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: docker-api
|