fog-bouncer 0.2.2 → 0.2.3

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.
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