canzea 0.1.102 → 0.1.103
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/lib/audit.rb +14 -2
- data/lib/canzea/version.rb +1 -1
- data/lib/canzea.rb +5 -4
- data/lib/commands/add-env.rb +12 -4
- data/lib/helper-run-class.rb +4 -3
- data/lib/prepare-environment.rb +18 -8
- data/lib/trace-runner.rb +18 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e1e541ffcff2313bd7d542dd540dbf9dfff77cf
|
4
|
+
data.tar.gz: 2a60ef59b7ae314e5121bd8a020f6f1c58336836
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f01d385671a4945f05f3b56cda1124cc66dbfdde887b22074746fe2cb62eef4cf770bd30b8c9cf2a0d7ea1720a1e3f9a85721b888e94de51b2a77046306bf2b3
|
7
|
+
data.tar.gz: bd824390f64e8dd4870cb4aed4ddd2c1d6454e263646ada8adb49f9bb9cfd4eaf40a61329f24320ebaba134555c8df601f9b135d12dfa6f8267a4a35f607c713
|
data/lib/audit.rb
CHANGED
@@ -5,6 +5,10 @@ require 'logger'
|
|
5
5
|
|
6
6
|
|
7
7
|
class Audit
|
8
|
+
def initialize (_raw)
|
9
|
+
@raw = _raw;
|
10
|
+
end
|
11
|
+
|
8
12
|
def start (id, cmd)
|
9
13
|
self.log( id, cmd, "start", "", 0, "")
|
10
14
|
end
|
@@ -24,7 +28,7 @@ class Audit
|
|
24
28
|
"result" => result
|
25
29
|
}
|
26
30
|
}
|
27
|
-
|
31
|
+
pputs data.to_json
|
28
32
|
File.open(Canzea::config[:logging_root] + '/audit.log', 'a') { |file| file.puts(data.to_json) }
|
29
33
|
end
|
30
34
|
|
@@ -59,7 +63,15 @@ class Audit
|
|
59
63
|
data['message'][:context] = context
|
60
64
|
summary['message'][:context] = context
|
61
65
|
|
62
|
-
|
66
|
+
pputs summary.to_json
|
67
|
+
|
63
68
|
File.open(Canzea::config[:logging_root] + '/audit.log', 'a') { |file| file.puts(data.to_json) }
|
64
69
|
end
|
70
|
+
|
71
|
+
def pputs (s)
|
72
|
+
if (@raw == false)
|
73
|
+
puts "#{s}"
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
65
77
|
end
|
data/lib/canzea/version.rb
CHANGED
data/lib/canzea.rb
CHANGED
@@ -48,6 +48,7 @@ module Canzea
|
|
48
48
|
flag nil, :put, 'Put a file onto the remote server'
|
49
49
|
flag nil, :encrypt, 'Encrypt'
|
50
50
|
flag nil, :decrypt, 'Encrypt'
|
51
|
+
flag nil, :raw, 'Result will be sent back in stdout'
|
51
52
|
flag nil, :init, 'Remote init execution'
|
52
53
|
# flag nil, :enable, 'Enable the service'
|
53
54
|
flag nil, :test, 'Run as a test'
|
@@ -111,7 +112,7 @@ module Canzea
|
|
111
112
|
GetCatalog.new.state
|
112
113
|
|
113
114
|
if (opts[:util])
|
114
|
-
AddEnv.new.
|
115
|
+
AddEnv.new(opts.fetch(:raw, false)).injectEnvironmentVariables
|
115
116
|
|
116
117
|
util = opts[:util]
|
117
118
|
if (util == "add-env")
|
@@ -172,7 +173,7 @@ module Canzea
|
|
172
173
|
|
173
174
|
lifecycle = opts[:lifecycle]
|
174
175
|
|
175
|
-
AddEnv.new.
|
176
|
+
AddEnv.new(opts.fetch(:raw, false)).injectEnvironmentVariables
|
176
177
|
|
177
178
|
if lifecycle == 'install'
|
178
179
|
puts "-- Running install step #{opts[:role]} #{opts[:solution]}"
|
@@ -196,8 +197,8 @@ module Canzea
|
|
196
197
|
end
|
197
198
|
|
198
199
|
if lifecycle == 'wire'
|
199
|
-
puts "-- Running helper #{opts[:solution]} #{opts[:action]}"
|
200
|
-
ps = HelperRun.new
|
200
|
+
# puts "-- Running helper #{opts[:solution]} #{opts[:action]}"
|
201
|
+
ps = HelperRun.new opts.fetch(:raw, false)
|
201
202
|
ps.run opts[:solution], opts[:action], opts.fetch(:args, '{}'), opts.fetch(:status,nil)
|
202
203
|
end
|
203
204
|
end
|
data/lib/commands/add-env.rb
CHANGED
@@ -3,8 +3,9 @@ require 'logger'
|
|
3
3
|
require 'plan-step-class'
|
4
4
|
|
5
5
|
class AddEnv
|
6
|
-
def initialize ()
|
6
|
+
def initialize (_raw = false)
|
7
7
|
@log = Logger.new(Canzea::config[:logging_root] + '/plans.log')
|
8
|
+
@raw = _raw
|
8
9
|
end
|
9
10
|
|
10
11
|
def add (key, value)
|
@@ -36,21 +37,28 @@ class AddEnv
|
|
36
37
|
extraConfig = Canzea::config[:config_location] + "/env.json"
|
37
38
|
@log.info "Looking at for env vars: #{extraConfig}"
|
38
39
|
if File.exists?(extraConfig)
|
39
|
-
|
40
|
+
pputs "-- Reading #{extraConfig}"
|
40
41
|
file = File.read(extraConfig)
|
41
42
|
envs = JSON.parse(file)
|
42
43
|
envs['vars'].keys.each { | key |
|
43
44
|
val = envs['vars'][key]
|
44
|
-
|
45
|
+
pputs "-- #{key} == #{val}"
|
45
46
|
@log.info "Setting: #{key} == #{val}"
|
46
47
|
ENV.store(key, val)
|
47
48
|
}
|
48
49
|
envs['secrets'].keys.each { | key |
|
49
50
|
val = envs['secrets'][key]
|
50
|
-
|
51
|
+
pputs "-- #{key} == XXXXXX"
|
51
52
|
@log.info "Setting: #{key} == XXXXXXX"
|
52
53
|
ENV.store(key, val)
|
53
54
|
}
|
54
55
|
end
|
55
56
|
end
|
57
|
+
|
58
|
+
def pputs (s)
|
59
|
+
if (@raw == false)
|
60
|
+
puts "#{s}"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
56
64
|
end
|
data/lib/helper-run-class.rb
CHANGED
@@ -6,9 +6,10 @@ require "prepare-environment"
|
|
6
6
|
require "trace-runner"
|
7
7
|
|
8
8
|
class HelperRun
|
9
|
-
def initialize ()
|
9
|
+
def initialize (_raw)
|
10
10
|
@basePath = "#{Pathname.new(Canzea::config[:catalog_location]).realpath}"
|
11
11
|
@log = Logger.new(Canzea::config[:logging_root] + '/plans.log')
|
12
|
+
@raw = _raw
|
12
13
|
end
|
13
14
|
|
14
15
|
def runPlan (plans)
|
@@ -34,7 +35,7 @@ class HelperRun
|
|
34
35
|
|
35
36
|
parameters = self.enrich(parameters)
|
36
37
|
|
37
|
-
envPush = PrepareEnvironment.new
|
38
|
+
envPush = PrepareEnvironment.new @raw
|
38
39
|
|
39
40
|
begin
|
40
41
|
envScript = "#{@basePath}/helpers/#{solution}/environment.json"
|
@@ -43,7 +44,7 @@ class HelperRun
|
|
43
44
|
envPush.addToEnv "#{envScript}"
|
44
45
|
end
|
45
46
|
|
46
|
-
r = RunnerWorker.new
|
47
|
+
r = RunnerWorker.new @raw
|
47
48
|
|
48
49
|
ENV['CATALOG_LOCATION'] = "#{@basePath}";
|
49
50
|
|
data/lib/prepare-environment.rb
CHANGED
@@ -6,6 +6,9 @@ require "registry"
|
|
6
6
|
|
7
7
|
|
8
8
|
class PrepareEnvironment
|
9
|
+
def initialize (_raw)
|
10
|
+
raw = _raw;
|
11
|
+
end
|
9
12
|
|
10
13
|
def addToEnv (envFile)
|
11
14
|
log = Logger.new(Canzea::config[:logging_root] + '/plans.log')
|
@@ -19,7 +22,7 @@ class PrepareEnvironment
|
|
19
22
|
if (serviceLookups.has_key?('environment'))
|
20
23
|
serviceLookups['environment'].each do |svc|
|
21
24
|
|
22
|
-
|
25
|
+
pputs "-- Setting...#{svc['name']}"
|
23
26
|
log.info("Setting: " + svc['name'])
|
24
27
|
ENV.store(svc['name'], svc['value'])
|
25
28
|
end
|
@@ -27,7 +30,7 @@ class PrepareEnvironment
|
|
27
30
|
|
28
31
|
serviceLookups['keyvalues'].each do |svc|
|
29
32
|
|
30
|
-
|
33
|
+
pputs("-- Looking up...#{svc['name']}")
|
31
34
|
|
32
35
|
uri = URI.parse(ENV["CONSUL_URL"] + '/v1/kv/' + svc['name'])
|
33
36
|
http = Net::HTTP.new(uri.host, uri.port)
|
@@ -65,7 +68,7 @@ class PrepareEnvironment
|
|
65
68
|
ENV.store(key, s)
|
66
69
|
else
|
67
70
|
log.warn("KEY VALUE NOT FOUND! " + svc['name'])
|
68
|
-
|
71
|
+
pputs "-- KEY VALUE NOT FOUND! " + svc['name']
|
69
72
|
abort()
|
70
73
|
end
|
71
74
|
end
|
@@ -73,7 +76,7 @@ class PrepareEnvironment
|
|
73
76
|
|
74
77
|
serviceLookups['services'].each do |svc|
|
75
78
|
|
76
|
-
|
79
|
+
pputs "-- Looking up...#{svc['name']}"
|
77
80
|
|
78
81
|
uri = URI.parse(ENV["CONSUL_URL"] + '/v1/catalog/service/' + svc['name'])
|
79
82
|
http = Net::HTTP.new(uri.host, uri.port)
|
@@ -117,14 +120,14 @@ class PrepareEnvironment
|
|
117
120
|
}
|
118
121
|
else
|
119
122
|
log.warn("SERVICE NOT FOUND! " + svc['name'])
|
120
|
-
|
123
|
+
pputs "-- SERVICE NOT FOUND! " + svc['name']
|
121
124
|
abort()
|
122
125
|
end
|
123
126
|
end
|
124
127
|
|
125
128
|
serviceLookups['secrets'].each do |svc|
|
126
129
|
|
127
|
-
|
130
|
+
pputs "-- Looking up secret...#{svc['name']}"
|
128
131
|
|
129
132
|
uri = URI.parse(ENV["VAULT_URL"] + '/v1/secret/' + svc['name'])
|
130
133
|
http = Net::HTTP.new(uri.host, uri.port)
|
@@ -167,8 +170,8 @@ class PrepareEnvironment
|
|
167
170
|
else
|
168
171
|
log.warn( "SECRET NOT FOUND! " + svc['name'])
|
169
172
|
log.warn( "ERROR FROM VAULT " + resp.body)
|
170
|
-
|
171
|
-
|
173
|
+
pputs "-- SECRET NOT FOUND! " + svc['name']
|
174
|
+
pputs "-- ERROR FROM VAULT " + resp.body
|
172
175
|
abort()
|
173
176
|
end
|
174
177
|
end
|
@@ -179,4 +182,11 @@ class PrepareEnvironment
|
|
179
182
|
puts name + " = " + value
|
180
183
|
}
|
181
184
|
end
|
185
|
+
|
186
|
+
def pputs (s)
|
187
|
+
if (raw == false)
|
188
|
+
puts "-- #{s}"
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
182
192
|
end
|
data/lib/trace-runner.rb
CHANGED
@@ -20,9 +20,12 @@ def handleIO(stillOpen, ioArray, io, log)
|
|
20
20
|
end
|
21
21
|
|
22
22
|
class RunnerWorker
|
23
|
+
def initialize (_raw)
|
24
|
+
@raw = _raw;
|
25
|
+
end
|
23
26
|
|
24
|
-
def run(command, start, lines, statusIndicator = false
|
25
|
-
audit = Audit.new
|
27
|
+
def run(command, start, lines, statusIndicator = false)
|
28
|
+
audit = Audit.new @raw
|
26
29
|
|
27
30
|
log = Logger.new(Canzea::config[:logging_root] + '/plans.log')
|
28
31
|
|
@@ -36,7 +39,7 @@ class RunnerWorker
|
|
36
39
|
|
37
40
|
workingDir = Canzea::config[:pwd]
|
38
41
|
|
39
|
-
|
42
|
+
pputs "Executing [#{workingDir}] #{l}"
|
40
43
|
Dir.chdir(workingDir){
|
41
44
|
|
42
45
|
Open3.popen3(ENV, l) {|stdin, stdout, stderr, wait_thr|
|
@@ -67,9 +70,9 @@ class RunnerWorker
|
|
67
70
|
log.info("Exit Status = #{exit_status}")
|
68
71
|
log.info("Completed in (ms) : #{msecs}")
|
69
72
|
|
70
|
-
|
73
|
+
pputs "Exit Status = #{exit_status}"
|
71
74
|
output.split(/\n/).each do | line |
|
72
|
-
|
75
|
+
pputs "#{line}"
|
73
76
|
end
|
74
77
|
|
75
78
|
|
@@ -81,6 +84,10 @@ class RunnerWorker
|
|
81
84
|
audit.status("#{lines + 1}", l.chomp, exit_status.exitstatus, msecs, output)
|
82
85
|
end
|
83
86
|
|
87
|
+
if (@raw)
|
88
|
+
puts output
|
89
|
+
end
|
90
|
+
|
84
91
|
if exit_status.exitstatus != 0
|
85
92
|
abort()
|
86
93
|
end
|
@@ -92,4 +99,10 @@ class RunnerWorker
|
|
92
99
|
return lines
|
93
100
|
|
94
101
|
end
|
102
|
+
|
103
|
+
def pputs (s)
|
104
|
+
if (@raw == false)
|
105
|
+
puts "-- #{s}"
|
106
|
+
end
|
107
|
+
end
|
95
108
|
end
|