ploy 0.0.4 → 0.0.5

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: a2c78754ea6d6c007f064e3a182ae81f94e42c9a
4
- data.tar.gz: 2a5591e5ae8c2ed1b6a96fed8f7bc9483deea231
3
+ metadata.gz: 9b4bb8c3355ea0bf3b8fb3cb621f0c9f3608ec8a
4
+ data.tar.gz: 150fa76924b37b6463669a5e2648b0070121840a
5
5
  SHA512:
6
- metadata.gz: 182997ac859c97cd237fc9b73e24b6bc1a6715f82b3df85e8fd1e1c4c32106133957c803d286fd4d8739be306b29ec49cdd7fd862000431cddcb9a5781422c2a
7
- data.tar.gz: b3ec95b355a8a8fcd6402c73bd33dc0ba3a0923bdc201f31156aa8f44e9b2842078a9ea8387cd6a04b0291b833467d928e2c60f18d1c0e98ba1271533767873b
6
+ metadata.gz: dd9b8d5d3d0929a3f3c8498a54e6fc9acdb9f280be873c120e9dba6f88da6440714ef09584082612900549700a355f695e86446dc42ea987d440b60090dba679
7
+ data.tar.gz: 09967bc6259db66be7d4965d419abf8862f405b1bf60d95ad181f80c67b925c842d7619560380740b3d7da5b764b08689e679bf5406124eaf5cbd07e4a404927
@@ -1,6 +1,7 @@
1
1
  require 'sinatra'
2
2
  require 'json'
3
3
  require 'ploy/metasrc'
4
+ require 'ploy/metaoracle'
4
5
 
5
6
  # TODO: this needs tests. It is a Friday; I just don't have the brainpower
6
7
  # left to figure out how to test a subclassed sinatra.
@@ -22,6 +23,13 @@ module Ploy
22
23
  JSON.dump(@@metasrc.load)
23
24
  ]
24
25
  end
26
+ get '/meta/:stack' do
27
+ [
28
+ 200,
29
+ { "Content-type" => "text/json" },
30
+ JSON.dump(Ploy::MetaOracle.new(params[:stack]).query)
31
+ ]
32
+ end
25
33
  end
26
34
  class Oracle < Base
27
35
  def run(argv)
@@ -0,0 +1,29 @@
1
+ require 'net/http'
2
+ require 'json'
3
+
4
+ module Ploy
5
+ class MetaOracle
6
+ def initialize(stack)
7
+ @stack = stack
8
+ end
9
+
10
+ def query
11
+ r = {}
12
+ puts "query"
13
+ AWS::EC2.new.instances.tagged_values(@stack).each do |i|
14
+ puts "asking #{i.private_ip_address}"
15
+ r[i.private_ip_address] = meta(i)
16
+ end
17
+ return r
18
+ end
19
+
20
+ def meta(instance)
21
+ JSON.parse(Net::HTTP.get(oracle_uri(instance)))
22
+ end
23
+
24
+ def oracle_uri(instance)
25
+ URI("http://#{instance.private_ip_address}:9876/")
26
+ end
27
+
28
+ end
29
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Bruce
@@ -71,6 +71,7 @@ files:
71
71
  - lib/ploy/localpackage/config.rb
72
72
  - lib/ploy/localpackage/debbuilder.rb
73
73
  - lib/ploy/localpackage/optlist.rb
74
+ - lib/ploy/metaoracle.rb
74
75
  - lib/ploy/metasrc.rb
75
76
  - lib/ploy/package.rb
76
77
  - lib/ploy/publisher.rb
@@ -95,7 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
96
  version: '0'
96
97
  requirements: []
97
98
  rubyforge_project:
98
- rubygems_version: 2.0.3
99
+ rubygems_version: 2.1.9
99
100
  signing_key:
100
101
  specification_version: 4
101
102
  summary: deployment