tiller 0.3.2 → 0.4.0
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/bin/tiller +11 -7
- data/lib/tiller/api.rb +4 -4
- data/lib/tiller/defaults.rb +1 -1
- data/lib/tiller/util.rb +10 -0
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbd7c351b404d9ad522229e387678dcfac6cc625
|
4
|
+
data.tar.gz: 944655c1a9f52ff0385e8e56fe85cfc52a00751d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6362ad6e2febddbc0075e9fdbda50128bc27eca7b633efc0ca2903085c3a303acde1df32b8bdf7260bf35b6d75c493c19745ddf788387ecc280c318a3117670f
|
7
|
+
data.tar.gz: f35071d852eb1e01eddfccdec52e8eeeb1b0321bc2b36cb6866c004e939ffa3130a97bedfe6750097d2f020a13285e20247b86e5ae1a3066e5f73a9b7ce78b9a
|
data/bin/tiller
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
# didn't have an existing gem named after it!
|
5
5
|
# Mark Round <github@markround.com>
|
6
6
|
|
7
|
-
VERSION = '0.
|
7
|
+
VERSION = '0.4.0'
|
8
8
|
|
9
9
|
require 'erb'
|
10
10
|
require 'ostruct'
|
@@ -161,14 +161,18 @@ module Tiller
|
|
161
161
|
puts "Executing #{config['exec']}..."
|
162
162
|
|
163
163
|
# Fork and wait so API can continue to run
|
164
|
-
fork do
|
165
|
-
|
164
|
+
child_pid = fork do
|
165
|
+
exec(config['exec'])
|
166
166
|
end
|
167
167
|
|
168
|
-
puts "Child process forked." if config[:verbose]
|
169
|
-
|
170
|
-
|
171
|
-
|
168
|
+
puts "Child process forked with PID #{child_pid}." if config[:verbose]
|
169
|
+
|
170
|
+
# Catch signals and send them on to the child process
|
171
|
+
[ :INT, :TERM, :HUP ].each { |sig| Signal.trap(sig) { signal(sig, child_pid, config) } }
|
172
172
|
|
173
|
+
Process.wait(child_pid)
|
174
|
+
|
175
|
+
puts 'Child process finished, Tiller is stopping.' if config[:verbose]
|
176
|
+
end
|
173
177
|
|
174
178
|
end
|
data/lib/tiller/api.rb
CHANGED
@@ -54,10 +54,10 @@ def tiller_api(tiller_api_hash)
|
|
54
54
|
|
55
55
|
# Response
|
56
56
|
socket.print "HTTP/1.1 #{response[:status]}\r\n" +
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
57
|
+
"Content-Type: application/json\r\n" +
|
58
|
+
"Server: Tiller #{VERSION} / API v#{API_VERSION}\r\n"
|
59
|
+
"Content-Length: #{response[:content].bytesize}\r\n" +
|
60
|
+
"Connection: close\r\n"
|
61
61
|
socket.print "\r\n"
|
62
62
|
socket.print response[:content]
|
63
63
|
socket.close
|
data/lib/tiller/defaults.rb
CHANGED
@@ -7,7 +7,7 @@ module Tiller
|
|
7
7
|
# from the -e flag or set it to default_environment.
|
8
8
|
:environment => (ENV['environment'].nil?) ? nil : ENV['environment'],
|
9
9
|
# This can be overridden in common.yaml.
|
10
|
-
'default_environment' => '
|
10
|
+
'default_environment' => 'development',
|
11
11
|
:no_exec => false,
|
12
12
|
:verbose => false,
|
13
13
|
'api_enable' => false,
|
data/lib/tiller/util.rb
CHANGED
@@ -10,4 +10,14 @@ def warn_merge(key, old, new, type, source)
|
|
10
10
|
puts "Warning, merging duplicate #{type} values."
|
11
11
|
puts "#{key} => '#{old}' being replaced by : '#{new}' from #{source}"
|
12
12
|
new
|
13
|
+
end
|
14
|
+
|
15
|
+
# Pass signals on to child process
|
16
|
+
def signal(sig, pid, config)
|
17
|
+
puts "Caught signal #{sig}, passing to PID #{pid}" if config[:verbose]
|
18
|
+
begin
|
19
|
+
Process.kill(sig, pid)
|
20
|
+
rescue Errno::ESRCH
|
21
|
+
false
|
22
|
+
end
|
13
23
|
end
|
metadata
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tiller
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Round
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description: A tool to create configuration files
|
14
|
-
|
13
|
+
description: A tool to create configuration files from a variety of sources, particularly
|
14
|
+
useful for Docker containers. See https://github.com/markround/tiller for examples
|
15
|
+
and documentation.
|
15
16
|
email: github@markround.com
|
16
17
|
executables:
|
17
18
|
- tiller
|
@@ -87,5 +88,5 @@ rubyforge_project:
|
|
87
88
|
rubygems_version: 2.2.2
|
88
89
|
signing_key:
|
89
90
|
specification_version: 4
|
90
|
-
summary: Dynamic configuration generation
|
91
|
+
summary: Dynamic configuration file generation
|
91
92
|
test_files: []
|