bcome 1.3.2 → 1.3.3

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: 8e5a43822b034da12c4c66c06a83ecba12ddc7f7
4
- data.tar.gz: 903781f913e606b995658e265f6b9eca35d7c995
3
+ metadata.gz: 0e9ca596abfb2b5646f402dc387d0f5a2e4538d3
4
+ data.tar.gz: 360040b6babef02752da688aa45a9711879477fb
5
5
  SHA512:
6
- metadata.gz: 8dce77759769673ecfb59617ce4cc884fb52a21c46c9b6576bf7a82deda540d274882351c1818db3eed2a62f64f0675b48a9f06a5c620e25d60af4bc08c2eba2
7
- data.tar.gz: 2641aed669f870e423c6845c03fe08af7069264c674799313f763132541811c4f6a63de7f99fe898869d69f89890518b9a11120fe67d20bd734b3af1526ef8f3
6
+ metadata.gz: cde41dc06bb6edfd02a30d5b497e77f9b0e8a723d57f58f8f982533e5e1a36c994374373b1cf777b6dbbfb2c05e35497130b6ea3dae20e0ed7c6a43de4cfcfa9
7
+ data.tar.gz: bfd7821e8a7a8085df798c3440aabf72fa351f10501c21a96044e200293411188e45ce3751765eac9cbbef8f2267fe8f6c9c5249608685dc2db0a134a7b78c7b
@@ -87,6 +87,13 @@ module Bcome::Node
87
87
  return
88
88
  end
89
89
 
90
+ def put_from_string(string, remote_path)
91
+ resources.active.each do |resource|
92
+ resource.put_from_string(local_path, remote_path)
93
+ end
94
+ return
95
+ end
96
+
90
97
  def execute_script(script_name)
91
98
  results = {}
92
99
  machines.pmap do |machine|
@@ -22,15 +22,22 @@ module Bcome::Node
22
22
  end
23
23
 
24
24
  def terraform_data_for_namespace(namespace)
25
+ ## TODO Not sure what was being smoked, but this only adds in data for the first module
26
+ ## Until I can fix, we will:
27
+
25
28
  parser = Bcome::Terraform::Parser.new(namespace)
26
29
  attributes = parser.attributes
30
+
31
+ terraform_data = {}
32
+
27
33
  if attributes.keys.any?
28
- {
29
- "terraform_attributes" => attributes
30
- }
31
- else
32
- {}
34
+ ## 1. Keep the old broken implementation
35
+ terraform_data["terraform_attributes"] = attributes if attributes.keys.any?
36
+ ## 2. But make all the data accessible
37
+ terraform_data["tf_state"] = parser.state.config
33
38
  end
39
+
40
+ terraform_data
34
41
  end
35
42
 
36
43
  def prompt_for_decryption_key
@@ -153,6 +153,10 @@ module Bcome::Node::Server
153
153
  ssh_driver.put(local_path, remote_path)
154
154
  end
155
155
 
156
+ def put_from_string(string, remote_path)
157
+ ssh_driver.put_from_string(string, remote_path)
158
+ end
159
+
156
160
  def get(remote_path, local_path)
157
161
  ssh_driver.get(remote_path, local_path)
158
162
  end
@@ -231,6 +231,21 @@ module Bcome::Ssh
231
231
  nil
232
232
  end
233
233
 
234
+ def put_from_string(string, remote_path)
235
+ raise Bcome::Exception::MissingParamsForScp, "'put' requires a string and a remote_path" if string.to_s.empty? || remote_path.to_s.empty?
236
+ puts "\n(#{@context_node.namespace})\s".namespace + "Uploading from string to #{remote_path}\n".informational
237
+
238
+ begin
239
+ scp.upload!(StringIO.new(string), remote_path) do |_ch, name, sent, total|
240
+ puts "#{name}: #{sent}/#{total}".progress
241
+ end
242
+ rescue Exception => e # scp just throws generic exceptions :-/
243
+ puts e.message.error
244
+ end
245
+ nil
246
+ end
247
+
248
+
234
249
  def get(remote_path, local_path)
235
250
  raise Bcome::Exception::MissingParamsForScp, "'get' requires a local_path and a remote_path" if local_path.to_s.empty? || remote_path.to_s.empty?
236
251
  puts "\n(#{@context_node.namespace})\s".namespace + "Downloading #{remote_path} to #{local_path}\n".informational
@@ -22,13 +22,19 @@ module Bcome::Terraform
22
22
  end
23
23
 
24
24
  def config
25
- raise "No terraform tstate for this environment" unless config_exists?
25
+ return {} unless config_exists?
26
26
  JSON.parse(File.read(config_path))
27
27
  end
28
28
 
29
+ def modules
30
+ return {} unless config_exists?
31
+ return config["modules"]
32
+ end
33
+
29
34
  def resources
35
+ # TODO What was I thinking ... We need all the modules...
30
36
  return {} unless config_exists?
31
- return config["modules"][0]["resources"]
37
+ return modules[0]["resources"]
32
38
  end
33
39
  end
34
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bcome
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guillaume Roderick (Webzakimbo)
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-29 00:00:00.000000000 Z
11
+ date: 2019-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport