socotra-build 0.2.0 → 0.2.1

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/socotra-build.rb +24 -17
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 64e8db502c8303df28468d82068a85e8d0ead25b
4
- data.tar.gz: 23347c3cacee8ce6beb9d29f3fecb95b3ca67bcf
3
+ metadata.gz: 4e0d522a8ad37ce502372411b1805ed2eed8bf4b
4
+ data.tar.gz: e357ce6703bcc71a6bf5f2491134dfe286db3055
5
5
  SHA512:
6
- metadata.gz: 46a02ba71c031c00b977b4a5c380e01ca23e8861a5fd9c5253d3732576b64d42cf970adde30ececd0f42d129cb4a10175242316de152a7d24f445d20c271325d
7
- data.tar.gz: 26b9c545a577692ec73fdd78d5c0dc842d60d22bcf3170c6695051fc401fde31e76d80c02bd3586fbc39b656f9b83c0f92b86dbef7fa2b3b457dd2a6c13c4010
6
+ metadata.gz: 7d18da3d1b99eeca877b52083cbf42a762d3d6efeb6d00519c969d9304d89fc97864c1d21f4ffbcb0497f4e07489a30c92e6fb4a3791b5285d1c327a378ea990
7
+ data.tar.gz: f798e8ba250171737ba786db02dc325a0a45ea7f2bae3bd9c61ddfba06de5ba1de838ba7ad49e6a8b669ea7b8a8d57fe8999194ba8100694a5a172cf72bc557b
data/lib/socotra-build.rb CHANGED
@@ -19,21 +19,28 @@ def self.safe_retry(cmd, description, error_message="command failed", raise_on_f
19
19
  return status
20
20
  end
21
21
 
22
- def self.system_safe(cmd, cmd_description, error_message, raise_on_fail=true, log_level="ERROR")
23
- puts "executing command: #{cmd}\n"
24
- start = Time.now.to_i
22
+ def self.system_safe(cmd, cmd_description, error_message, raise_on_fail=true, log_level="ERROR", log=true)
23
+ if log
24
+ puts "executing command: #{cmd}\n"
25
+ end
26
+
27
+ start = Time.now.to_i
25
28
  stdout, stderr, status = Open3.capture3(cmd)
26
- elapsed = Time.now.to_i - start
29
+ elapsed = Time.now.to_i - start
27
30
 
28
- File.open("logs/#{cmd_description}_out.log" , 'w') { |file| file.write(stdout) }
29
- File.open("logs/#{cmd_description}_err.log" , 'w') { |file| file.write(stderr) }
31
+ if log
32
+ File.open("logs/#{cmd_description}_out.log" , 'w') { |file| file.write(stdout) }
33
+ File.open("logs/#{cmd_description}_err.log" , 'w') { |file| file.write(stderr) }
34
+ puts "\tLogs available here: #{cmd_description}_err.log and #{cmd_description}_out.log\n\n"
35
+ end
30
36
 
31
- puts "\t#{cmd_description} took #{elapsed} seconds"
32
- puts "\tLogs available here: #{cmd_description}_err.log and #{cmd_description}_out.log\n\n"
37
+ puts "\t#{cmd_description} took #{elapsed} seconds"
33
38
 
34
39
  if not status.success? and raise_on_fail
35
- puts "#{log_level}: see logs/#{cmd_description}_out.log and #{cmd_description}_err.log for details"
36
- raise "#{log_level}: #{error_message}"
40
+ if log
41
+ puts "#{log_level}: see logs/#{cmd_description}_out.log and #{cmd_description}_err.log for details"
42
+ end
43
+ raise "#{log_level}: #{error_message}"
37
44
  end
38
45
 
39
46
  return [status.success?, stdout]
@@ -46,31 +53,31 @@ end
46
53
 
47
54
  def self.get_secret(key, subkey, log_identifier)
48
55
  cmd = "vault read -field=#{subkey} #{key}"
49
- status, secret = system_safe(cmd, log_identifier, "Get secret failed")
56
+ status, secret = system_safe(cmd, log_identifier, "Get secret failed", true, "ERROR", false)
50
57
  secret = secret.strip
51
58
  end
52
59
 
53
60
  def self.put_secret(key, subkey_value_map, log_identifier)
54
61
  cmd = "vault write #{key} #{subkey_value_map}"
55
- system_safe(cmd, log_identifier, "Put secret failed")
62
+ system_safe(cmd, log_identifier, "Put secret failed", true, "ERROR", false)
56
63
  end
57
64
 
58
65
  def self.generate_aws_keys(key, log_identifier)
59
66
  cmd = "vault read #{key}"
60
67
 
61
- status, output = system_safe(cmd, log_identifier, "AWS key generation failed")
68
+ status, output = system_safe(cmd, log_identifier, "AWS key generation failed", true, "ERROR", false)
62
69
 
63
70
  cmd = "echo '#{output}' |grep access_key|awk '{print $2'}"
64
- status, account_access_key = system_safe(cmd, "get_generated_access_key", "Getting account access key failed")
71
+ status, account_access_key = system_safe(cmd, "get_generated_access_key", "Getting account access key failed", true, "ERROR", false)
65
72
 
66
73
  account_access_key = account_access_key.strip
67
74
 
68
75
  cmd = "echo '#{output}' |grep secret_key|awk '{print $2'}"
69
- status, account_secret_key = system_safe(cmd, "get_generated_access_key", "Getting account access key failed")
76
+ status, account_secret_key = system_safe(cmd, "get_generated_access_key", "Getting account access key failed", true, "ERROR", false)
70
77
  account_secret_key = account_secret_key.strip
71
78
 
72
79
  cmd = "echo '#{output}' |grep lease_id|awk '{print $2'}"
73
- status, lease_id = system_safe(cmd, "get_generated_access_key", "Getting account access key failed")
80
+ status, lease_id = system_safe(cmd, "get_generated_access_key", "Getting account access key failed", true, "ERROR", false)
74
81
  lease_id = lease_id.strip
75
82
 
76
83
  return account_access_key, account_secret_key, lease_id
@@ -78,5 +85,5 @@ end
78
85
 
79
86
  def self.revoke_lease(lease_id, log_identifier)
80
87
  cmd = "vault revoke #{lease_id}"
81
- safe_retry(cmd, log_identifier, "Revoking lease failed", false)
88
+ safe_retry(cmd, log_identifier, "Revoking lease failed", false, "ERROR", false)
82
89
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: socotra-build
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Antenesse