fog-bouncer 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
+ .DS_Store
1
2
  *.gem
2
3
  *.rbc
3
4
  *.swp
data/.travis.yml CHANGED
@@ -1,4 +1,36 @@
1
- env: NO_SIMPLECOV=true
1
+ env:
2
+ global:
3
+ - NO_SIMPLECOV=true
4
+ - secure: "hBuPzm8oDPYwDzutnwwOkc2cwMNPHuCcTqw9ZHnSJlPyKAIGLBvDca+Nqu/v\niqVS+H8p2vn8/Dj+Y4+OouyL83ibH5PLsMLGqFYQqJ2glj/8qozoq0EB1C5x\n2k7/EtK1fft4oJhyWvEOd92q5/kDYAwRsQYZqBn7E9Yu7D4zfnQ="
5
+ - secure: "UXDtqnEW0BUtATes/xYIHFFXwGsIJbxMs4dNb6yC2KplHUSenx/RhgVMnRhF\nvSBCFuTPXHHHQKg8SgrxRJe3M841sKZxfSkRJ2PYMoW1qNEhF86EMxvrMDfg\nQ6PM5SDRk3u1PiGNdVlgeRVKFKOTnBaySTGDRVBnTZmK/iYHv5A="
6
+ - secure: "jzm0Mn03H2wVsJbk+JxbZ0y2ptrMXKdfAs243W9Bd2PVg/no+CFxw7CDlvcT\n5IEB/3CFPTnbbFj0BMGa5hZFa6eSG4V4vKPRe5M10dx6807nho0G1xWHIj5b\nOok5u1YvDHuaZ6aGwo/oprMBRKh68mhgSYS/KfuFEdj689QVae4="
7
+ matrix:
8
+ - FOG_REAL=false
9
+ - FOG_REAL=true
10
+
11
+ matrix:
12
+ exclude:
13
+ - rvm: 1.9.2
14
+ env:
15
+ - FOG_REAL=true
16
+ - NO_SIMPLECOV=true
17
+ - secure: "hBuPzm8oDPYwDzutnwwOkc2cwMNPHuCcTqw9ZHnSJlPyKAIGLBvDca+Nqu/v\niqVS+H8p2vn8/Dj+Y4+OouyL83ibH5PLsMLGqFYQqJ2glj/8qozoq0EB1C5x\n2k7/EtK1fft4oJhyWvEOd92q5/kDYAwRsQYZqBn7E9Yu7D4zfnQ="
18
+ - secure: "UXDtqnEW0BUtATes/xYIHFFXwGsIJbxMs4dNb6yC2KplHUSenx/RhgVMnRhF\nvSBCFuTPXHHHQKg8SgrxRJe3M841sKZxfSkRJ2PYMoW1qNEhF86EMxvrMDfg\nQ6PM5SDRk3u1PiGNdVlgeRVKFKOTnBaySTGDRVBnTZmK/iYHv5A="
19
+ - secure: "jzm0Mn03H2wVsJbk+JxbZ0y2ptrMXKdfAs243W9Bd2PVg/no+CFxw7CDlvcT\n5IEB/3CFPTnbbFj0BMGa5hZFa6eSG4V4vKPRe5M10dx6807nho0G1xWHIj5b\nOok5u1YvDHuaZ6aGwo/oprMBRKh68mhgSYS/KfuFEdj689QVae4="
20
+ - rvm: jruby-19mode
21
+ env:
22
+ - FOG_REAL=true
23
+ - NO_SIMPLECOV=true
24
+ - secure: "hBuPzm8oDPYwDzutnwwOkc2cwMNPHuCcTqw9ZHnSJlPyKAIGLBvDca+Nqu/v\niqVS+H8p2vn8/Dj+Y4+OouyL83ibH5PLsMLGqFYQqJ2glj/8qozoq0EB1C5x\n2k7/EtK1fft4oJhyWvEOd92q5/kDYAwRsQYZqBn7E9Yu7D4zfnQ="
25
+ - secure: "UXDtqnEW0BUtATes/xYIHFFXwGsIJbxMs4dNb6yC2KplHUSenx/RhgVMnRhF\nvSBCFuTPXHHHQKg8SgrxRJe3M841sKZxfSkRJ2PYMoW1qNEhF86EMxvrMDfg\nQ6PM5SDRk3u1PiGNdVlgeRVKFKOTnBaySTGDRVBnTZmK/iYHv5A="
26
+ - secure: "jzm0Mn03H2wVsJbk+JxbZ0y2ptrMXKdfAs243W9Bd2PVg/no+CFxw7CDlvcT\n5IEB/3CFPTnbbFj0BMGa5hZFa6eSG4V4vKPRe5M10dx6807nho0G1xWHIj5b\nOok5u1YvDHuaZ6aGwo/oprMBRKh68mhgSYS/KfuFEdj689QVae4="
27
+ - rvm: rbx-19mode
28
+ env:
29
+ - FOG_REAL=true
30
+ - NO_SIMPLECOV=true
31
+ - secure: "hBuPzm8oDPYwDzutnwwOkc2cwMNPHuCcTqw9ZHnSJlPyKAIGLBvDca+Nqu/v\niqVS+H8p2vn8/Dj+Y4+OouyL83ibH5PLsMLGqFYQqJ2glj/8qozoq0EB1C5x\n2k7/EtK1fft4oJhyWvEOd92q5/kDYAwRsQYZqBn7E9Yu7D4zfnQ="
32
+ - secure: "UXDtqnEW0BUtATes/xYIHFFXwGsIJbxMs4dNb6yC2KplHUSenx/RhgVMnRhF\nvSBCFuTPXHHHQKg8SgrxRJe3M841sKZxfSkRJ2PYMoW1qNEhF86EMxvrMDfg\nQ6PM5SDRk3u1PiGNdVlgeRVKFKOTnBaySTGDRVBnTZmK/iYHv5A="
33
+ - secure: "jzm0Mn03H2wVsJbk+JxbZ0y2ptrMXKdfAs243W9Bd2PVg/no+CFxw7CDlvcT\n5IEB/3CFPTnbbFj0BMGa5hZFa6eSG4V4vKPRe5M10dx6807nho0G1xWHIj5b\nOok5u1YvDHuaZ6aGwo/oprMBRKh68mhgSYS/KfuFEdj689QVae4="
2
34
 
3
35
  language: ruby
4
36
 
data/fog-bouncer.gemspec CHANGED
@@ -16,6 +16,7 @@ Gem::Specification.new do |gem|
16
16
  gem.version = Fog::Bouncer::VERSION
17
17
 
18
18
  gem.add_dependency "clamp", "~> 0.3.0"
19
+ gem.add_dependency "clarence", "1987.0.0"
19
20
  gem.add_dependency "fog", "~> 1.2"
20
21
  gem.add_dependency "ipaddress", "~> 0.8.0"
21
22
  gem.add_dependency "jruby-openssl", "~> 0.7.6" if RUBY_PLATFORM == "java"
@@ -20,8 +20,18 @@ module Fog
20
20
 
21
21
  class Diff
22
22
  class EC2
23
+ attr_reader :doorlist
24
+
23
25
  def self.diff(doorlist)
24
- doorlist.groups.each do |group|
26
+ new(doorlist).diff
27
+ end
28
+
29
+ def initialize(doorlist)
30
+ @doorlist = doorlist
31
+ end
32
+
33
+ def diff
34
+ @doorlist.groups.each do |group|
25
35
  if group.local? && !group.remote?
26
36
  puts "ec2-create-group #{group.name} -d '#{group.description}'"
27
37
  end
@@ -29,29 +39,9 @@ module Fog
29
39
  group.sources.each do |source|
30
40
  source.protocols.each do |protocol|
31
41
  if protocol.local? && !protocol.remote?
32
- authorize_cmd = "ec2-authorize #{protocol.group.name} -P #{protocol.type}"
33
- if protocol.type == "icmp"
34
- authorize_cmd << " -t #{protocol.from}:#{protocol.to}"
35
- else
36
- authorize_cmd << " -p #{protocol.from}-#{protocol.to}"
37
- end
38
-
39
- if source.is_a?(Fog::Bouncer::Sources::CIDR)
40
- authorize_cmd << " -s #{source.range}"
41
- else
42
- authorize_cmd << " -u #{source.user_id} -o #{source.name}"
43
- end
44
-
45
- puts authorize_cmd
42
+ puts command(protocol, :authorize)
46
43
  elsif !protocol.local? && protocol.remote?
47
- revoke_cmd = "ec2-revoke #{protocol.group.name} -P #{protocol.type}"
48
- if protocol.type == "icmp"
49
- revoke_cmd << " -t #{protocol.from}:#{protocol.to}"
50
- else
51
- revoke_cmd << " -p #{protocol.from}-#{protocol.to}"
52
- end
53
-
54
- puts revoke_cmd
44
+ puts command(protocol, :revoke)
55
45
  end
56
46
  end
57
47
  end
@@ -61,6 +51,27 @@ module Fog
61
51
  end
62
52
  end
63
53
  end
54
+
55
+ private
56
+
57
+ def command(protocol, action)
58
+ cmd = "ec2-#{action} #{protocol.group.name} -P #{protocol.type}"
59
+ source = protocol.source
60
+
61
+ if protocol.type == "icmp"
62
+ cmd << " -t #{protocol.from}:#{protocol.to}"
63
+ else
64
+ cmd << " -p #{protocol.from}-#{protocol.to}"
65
+ end
66
+
67
+ if source.is_a?(Fog::Bouncer::Sources::CIDR)
68
+ cmd << " -s #{source.range}"
69
+ else
70
+ cmd << " -u #{source.user_id} -o #{source.name}"
71
+ end
72
+
73
+ cmd
74
+ end
64
75
  end
65
76
 
66
77
  FORMATS = {
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Bouncer
3
- VERSION = "0.2.2"
3
+ VERSION = "0.2.3"
4
4
  end
5
5
  end
data/spec/helper.rb CHANGED
@@ -1,3 +1,8 @@
1
+ if ENV['TRAVIS_PULL_REQUEST'] && ["1", "true"].include?(ENV['TRAVIS_PULL_REQUEST']) && ENV['FOG_REAL'] && ["1", "true"].include?(ENV['FOG_REAL'])
2
+ require "clarence"
3
+ Bitches.leave
4
+ end
5
+
1
6
  require "simplecov" unless ENV['NO_SIMPLECOV']
2
7
  require 'minitest/autorun'
3
8
 
@@ -22,7 +27,7 @@ def load_security(security)
22
27
  Fog::Bouncer.load File.dirname(__FILE__) + "/support/security/#{security}.rb"
23
28
  end
24
29
 
25
- Fog.mock! unless ENV['FOG_REAL']
30
+ Fog.mock! unless ENV['FOG_REAL'] && ["1", "true"].include?(ENV['FOG_REAL'])
26
31
 
27
32
  MiniTest::Unit.after_tests do
28
33
  Fog::Bouncer.doorlists.each do |name, doorlist|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-bouncer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-21 00:00:00.000000000 Z
12
+ date: 2012-09-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: clamp
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
29
  version: 0.3.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: clarence
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - '='
36
+ - !ruby/object:Gem::Version
37
+ version: 1987.0.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - '='
44
+ - !ruby/object:Gem::Version
45
+ version: 1987.0.0
30
46
  - !ruby/object:Gem::Dependency
31
47
  name: fog
32
48
  requirement: !ruby/object:Gem::Requirement