docker_boss 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fef17dd46df84f08ca1dabb724e7790b8befbe4d
4
- data.tar.gz: bddc9f196485a9a320311068c76680fd8df410cc
3
+ metadata.gz: 5c03ceae67ce9ce3052da36aeee4d4c69e39a8d5
4
+ data.tar.gz: 33ba01946a3c6349e8c31d72fa28b8a2bdcd7b58
5
5
  SHA512:
6
- metadata.gz: 85e9b3a2c78142d41459800c6c5deaf64b34f5a364cb3b6dc8fecd2f96679e655c128ce3791fa88a68dfd17656d9868c4c1e01ca0e978bb668ef8af09dd0b30d
7
- data.tar.gz: ee4f6111cf1a9c6bc533a5b7ff1d92afde6e4d08f2018293a2ca2bc1a6db146db41b2bc3ae633c041ce1128492b1c673d38f4e232318aba9d1e6ef1c7995aaef
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: '4001') %>
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']) %>
@@ -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)
@@ -1,3 +1,3 @@
1
1
  module DockerBoss
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
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.3
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-29 00:00:00.000000000 Z
11
+ date: 2014-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docker-api