gaptool-server 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
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