gaptool-server 0.5.5 → 0.5.6

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/routes/main.rb +17 -33
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 067dafa0686058c80cdb4fab0b92d67aa70ab5f0
4
- data.tar.gz: af93d9d318e739e5ce4f956f254f16fca0f6c8bd
3
+ metadata.gz: 779152ed4d55a3bb346e7107396f5dbac79908a3
4
+ data.tar.gz: 5bcd127b0645eacd8f6b9efd268c1eb9398a4406
5
5
  SHA512:
6
- metadata.gz: 6bd63413dc9427a5e7d49c8bc66b97fefbb946d6a686f5eab88519df4ee3771951432dd31bf386721086ac0260394730059248c07b0e742c6c8ae8704c26592d
7
- data.tar.gz: 055972c09d036073f911242999b4df433d4a704bf342ab10f2c28b0eac19dfcad5e3b863723b2e558acc69d0517268bc08110118793969c4ae2aaa54e419b0db
6
+ metadata.gz: d10a701d3409f90a0985fc793542f85f019fe6ceb1f830ebb03836a6fbedb481782290b5c9275000f2538b3389b41d1b8684d1800aad503ae17aeb350449b955
7
+ data.tar.gz: ed8136909200594bb0b2f8251e8cfc43c0c9d0bc21474ed7ba3e423a9c5a17b154072208efaf9c9b7181bd5cb5b0251febd049941878f86c51cb2746fbfa8bcb
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.5
1
+ 0.5.6
data/lib/routes/main.rb CHANGED
@@ -11,7 +11,9 @@ class GaptoolServer < Sinatra::Application
11
11
 
12
12
  post '/init' do
13
13
  data = JSON.parse request.body.read
14
- AWS.config(:access_key_id => $redis.hget('config', 'aws_id'), :secret_access_key => $redis.hget('config', 'aws_secret'), :ec2_endpoint => "ec2.#{data['zone'].chop}.amazonaws.com")
14
+ AWS.config(:access_key_id => $redis.hget('config', 'aws_id'),
15
+ :secret_access_key => $redis.hget('config', 'aws_secret'),
16
+ :ec2_endpoint => "ec2.#{data['zone'].chop}.amazonaws.com")
15
17
  @ec2 = AWS::EC2.new
16
18
  # create shared secret to reference in /register
17
19
  @secret = (0...8).map{65.+(rand(26)).chr}.join
@@ -19,36 +21,14 @@ class GaptoolServer < Sinatra::Application
19
21
  security_group = data['security_group'] || $redis.hget("role:#{data['role']}", "security_group")
20
22
  sgid = gt_securitygroup(data['role'], data['environment'], data['zone'], security_group)
21
23
  image_id = data['ami'] || $redis.hget("amis:#{data['role']}", data['zone'].chop) || $redis.hget("amis", data['zone'].chop)
22
- puts data['zone']
23
- if data['mirror']
24
- instance = @ec2.instances.create(
25
- :image_id => image_id,
26
- :availability_zone => data['zone'],
27
- :instance_type => data['itype'],
28
- :key_name => "gaptool",
29
- :security_group_ids => sgid,
30
- :user_data => "#!/bin/bash\ncurl --silent -H 'X-GAPTOOL-USER: #{env['HTTP_X_GAPTOOL_USER']}' -H 'X-GAPTOOL-KEY: #{env['HTTP_X_GAPTOOL_KEY']}' #{$redis.hget('config', 'url')}/register -X PUT --data '#{data.to_json}' | bash",
31
- :block_device_mappings => {
32
- "/dev/sdf" => {
33
- :volume_size => data['mirror'].to_i,
34
- :delete_on_termination => false
35
- },
36
- "/dev/sdg" => {
37
- :volume_size => data['mirror'].to_i,
38
- :delete_on_termination => false
39
- }
40
- }
41
- )
42
- else
43
- instance = @ec2.instances.create(
44
- :image_id => image_id,
45
- :availability_zone => data['zone'],
46
- :instance_type => data['itype'],
47
- :key_name => "gaptool",
48
- :security_group_ids => sgid,
49
- :user_data => "#!/bin/bash\ncurl --silent -H 'X-GAPTOOL-USER: #{env['HTTP_X_GAPTOOL_USER']}' -H 'X-GAPTOOL-KEY: #{env['HTTP_X_GAPTOOL_KEY']}' #{$redis.hget('config', 'url')}/register -X PUT --data '#{data.to_json}' | bash"
50
- )
51
- end
24
+ instance = @ec2.instances.create(
25
+ :image_id => image_id,
26
+ :availability_zone => data['zone'],
27
+ :instance_type => data['itype'],
28
+ :key_name => "gaptool",
29
+ :security_group_ids => sgid,
30
+ :user_data => "#!/bin/bash\ncurl --silent -H 'X-GAPTOOL-USER: #{env['HTTP_X_GAPTOOL_USER']}' -H 'X-GAPTOOL-KEY: #{env['HTTP_X_GAPTOOL_KEY']}' #{$redis.hget('config', 'url')}/register -X PUT --data '#{data.to_json}' | bash"
31
+ )
52
32
  # Add host tag
53
33
  instance.add_tag('Name', :value => "#{data['role']}-#{data['environment']}-#{instance.id}")
54
34
  instance.add_tag('gaptool', :value => "yes")
@@ -64,7 +44,9 @@ class GaptoolServer < Sinatra::Application
64
44
 
65
45
  post '/terminate' do
66
46
  data = JSON.parse request.body.read
67
- AWS.config(:access_key_id => $redis.hget('config', 'aws_id'), :secret_access_key => $redis.hget('config', 'aws_secret'), :ec2_endpoint => "ec2.#{data['zone']}.amazonaws.com")
47
+ AWS.config(:access_key_id => $redis.hget('config', 'aws_id'),
48
+ :secret_access_key => $redis.hget('config', 'aws_secret'),
49
+ :ec2_endpoint => "ec2.#{data['zone']}.amazonaws.com")
68
50
  @ec2 = AWS::EC2.new
69
51
  @instance = @ec2.instances[data['id']]
70
52
  res = @instance.terminate
@@ -75,7 +57,9 @@ class GaptoolServer < Sinatra::Application
75
57
 
76
58
  put '/register' do
77
59
  data = JSON.parse request.body.read
78
- AWS.config(:access_key_id => $redis.hget('config', 'aws_id'), :secret_access_key => $redis.hget('config', 'aws_secret'), :ec2_endpoint => "ec2.#{data['zone'].chop}.amazonaws.com")
60
+ AWS.config(:access_key_id => $redis.hget('config', 'aws_id'),
61
+ :secret_access_key => $redis.hget('config', 'aws_secret'),
62
+ :ec2_endpoint => "ec2.#{data['zone'].chop}.amazonaws.com")
79
63
  @ec2 = AWS::EC2.new
80
64
  host_key = "instance:#{data['role']}:#{data['environment']}:#{data['secret']}"
81
65
  host_data = $redis.hgetall(host_key)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gaptool-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 0.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Bailey
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-11 00:00:00.000000000 Z
12
+ date: 2014-09-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra