outliers 0.3.0 → 0.3.1

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: 74e9cb409e6eef3f41b71f7546b03a331acd8e78
4
- data.tar.gz: 3bf117be6746ca6f358e53b063c8c46226ad8d23
3
+ metadata.gz: 8130b824d6821946ba5d05a836e3232c030427f4
4
+ data.tar.gz: c8afbce03b925b289ec32f46a7370bc1134b743f
5
5
  SHA512:
6
- metadata.gz: 64869c01820ae1d1e323c9531bafd25c10d57ef2660b4b6f505967a81256b974e05d4f9e9732bbb31dc785c7116227651a65fa2100e2330b8715e2452562d4c9
7
- data.tar.gz: c9e49150e28457a4152b9cb5572ab9851e34c3fcf9742782d50a12afbc0043cacbb2b740addcc740256991486a4efeca4bb5ec721ae828c445d952665b5e00e6
6
+ metadata.gz: 5da1d78eecef950a795f1d06ca1f97fef7c260ffbec34b356e0b9728695ca1bb9bd46e5175186408682c0d12a75b7d6e5faa0ca867b434b59a3679492b9265e2
7
+ data.tar.gz: b1468e505bd7edca7a87f10be45fc823c3e647ae5686dbcdae2dca8b21e5b53dd94a3a3c1b37b9e7aa995c7c2db2832ab5025082737ef7e39d1c21398e93308a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## HEAD
2
2
 
3
+ ## 0.3.1
4
+
5
+ * Moved shared verification info to shared.yaml
6
+
3
7
  ## 0.3.0
4
8
 
5
9
  * Remove CLI support
@@ -21,16 +21,6 @@ module Outliers
21
21
  end
22
22
  end
23
23
 
24
- module_function
25
-
26
- def self.filters
27
- [
28
- { name: 'tag',
29
- description: 'Filter instances tagged with the given tag name and value.',
30
- args: 'TAG_NAME:VALUE"' }
31
- ]
32
- end
33
-
34
24
  end
35
25
  end
36
26
  end
data/lib/outliers/info.rb CHANGED
@@ -8,5 +8,9 @@ module Outliers
8
8
  YAML.load_file(File.expand_path(File.join(File.dirname(__FILE__), '../../reference.yaml')))
9
9
  end
10
10
 
11
+ def shared
12
+ YAML.load_file(File.expand_path(File.join(File.dirname(__FILE__), '../../shared.yaml')))
13
+ end
14
+
11
15
  end
12
16
  end
@@ -1,3 +1,3 @@
1
1
  module Outliers
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
data/reference.yaml CHANGED
@@ -1,36 +1,26 @@
1
- all:
2
- credentials:
3
- access_key_id: AWS Account Access Key
4
- secret_access_key: AWS Account Secret Key
5
- region: AWS Region (Default us-east-1)
6
- resources:
7
- shared:
8
- description: Verifications which are available to all resources.
9
- verifications:
10
- none_exist:
11
- description: Verify no resources exist in list.
12
- equals:
13
- description: Verify no resources match the given list of keys.
14
- args: 'keys: [KEY1,KEY2]'
15
-
16
1
  aws_cloud_formation:
17
2
  credentials:
18
3
  access_key_id: AWS Account Access Key
19
4
  secret_access_key: AWS Account Secret Key
20
- region: AWS Region (Default us-east-1)
5
+ region: AWS Region
21
6
  resources:
22
7
  stack:
23
8
  description: AWS Cloud Formation Stack
9
+ filters: {}
24
10
  verifications: {}
25
11
 
26
12
  aws_ec2:
27
13
  credentials:
28
14
  access_key_id: AWS Account Access Key
29
15
  secret_access_key: AWS Account Secret Key
30
- region: AWS Region (Default us-east-1)
16
+ region: AWS Region
31
17
  resources:
32
18
  instance:
33
19
  description: AWS EC2 Instance
20
+ filters:
21
+ tag:
22
+ description: Filter instances tagged with the given tag name and value.
23
+ args: 'TAG_NAME:VALUE'
34
24
  verifications:
35
25
  classic:
36
26
  description: Instance is in AWS Classic (No VPC).
@@ -45,21 +35,24 @@ aws_ec2:
45
35
  description: Instance is in a VPC.
46
36
  security_group:
47
37
  description: AWS EC2 Security Group
38
+ filters: {}
48
39
  verifications:
49
40
  no_public_internet_ingress:
50
41
  description: Security Group has no rules open to 0.0.0.0/0.
51
42
  image:
52
43
  description: AWS EC2 AMI
44
+ filters: {}
53
45
  verifications: {}
54
46
 
55
47
  aws_elb:
56
48
  credentials:
57
49
  access_key_id: AWS Account Access Key
58
50
  secret_access_key: AWS Account Secret Key
59
- region: AWS Region (Default us-east-1)
51
+ region: AWS Region
60
52
  resources:
61
53
  load_balancer:
62
54
  description: AWS ELB (Elastic Load Balancer)
55
+ filters: {}
63
56
  verifications:
64
57
  ssl_certificates_valid:
65
58
  description: Validates all SSL certificates associated with an ELB are valid for given number of days.
@@ -69,10 +62,11 @@ aws_iam:
69
62
  credentials:
70
63
  access_key_id: AWS Account Access Key
71
64
  secret_access_key: AWS Account Secret Key
72
- region: AWS Region (Default us-east-1)
65
+ region: AWS Region
73
66
  resources:
74
67
  user:
75
68
  description: AWS IAM User
69
+ filters: {}
76
70
  verifications:
77
71
  mfa_enabled:
78
72
  description: Verify MFA enabled for user.
@@ -85,10 +79,11 @@ aws_rds:
85
79
  credentials:
86
80
  access_key_id: AWS Account Access Key
87
81
  secret_access_key: AWS Account Secret Key
88
- region: AWS Region (Default us-east-1)
82
+ region: AWS Region
89
83
  resources:
90
84
  db_instance:
91
85
  description: AWS RDS Database Instance
86
+ filters: {}
92
87
  verifications:
93
88
  backup_retention_period:
94
89
  description: Validate the backup retention period equals given days for the db_instance.
@@ -97,16 +92,18 @@ aws_rds:
97
92
  description: RDS Multi AZ set to yes.
98
93
  db_snapshot:
99
94
  description: AWS RDS Database Snapshot
95
+ filters: {}
100
96
  verifications: {}
101
97
 
102
98
  aws_s3:
103
99
  credentials:
104
100
  access_key_id: AWS Account Access Key
105
101
  secret_access_key: AWS Account Secret Key
106
- region: AWS Region (Default us-east-1)
102
+ region: AWS Region
107
103
  resources:
108
104
  bucket:
109
105
  description: AWS S3 Bucket
106
+ filters: {}
110
107
  verifications:
111
108
  empty:
112
109
  description: Bucket has no objects.
@@ -121,8 +118,9 @@ aws_sqs:
121
118
  credentials:
122
119
  access_key_id: AWS Account Access Key
123
120
  secret_access_key: AWS Account Secret Key
124
- region: AWS Region (Default us-east-1)
121
+ region: AWS Region
125
122
  resources:
126
123
  queue:
127
124
  description: AWS SQS Queue
125
+ filters: {}
128
126
  verifications: {}
data/shared.yaml ADDED
@@ -0,0 +1,6 @@
1
+ verifications:
2
+ none_exist:
3
+ description: No resources exist.
4
+ equals:
5
+ description: Verify the list of resource mataches the given list of keys.
6
+ args: 'keys: [RESOURCE_ID1, RESOURCE_ID2]'
data/spec/info_spec.rb CHANGED
@@ -12,7 +12,7 @@ describe Outliers::Info do
12
12
  end
13
13
 
14
14
  it "should be able to load reference.yaml" do
15
- expect(subject.reference.keys.include?('all')).to be_true
15
+ expect(subject.reference.keys.count > 0).to be_true
16
16
  end
17
17
 
18
18
  it "should verify each provider class has a entry in reference.yaml" do
@@ -23,19 +23,43 @@ describe Outliers::Info do
23
23
  expect((@resources - ['all_shared']).sort).to eq(Outliers::Resources.list.map {|r| r.to_human}.sort)
24
24
  end
25
25
 
26
- it "should validate each resource has a verification list and description" do
26
+ it "should validate each resource has a verification list, filter list and description" do
27
27
  subject.reference.each_value do |provider_data|
28
28
  provider_data['resources'].each_value do |resource_data|
29
29
  expect(resource_data['verifications'].class).to eq(Hash)
30
+ expect(resource_data['filters'].class).to eq(Hash)
30
31
  expect(resource_data['description'].class).to eq(String)
31
32
  end
32
33
  end
33
34
  end
34
35
 
35
36
  it "should validate each resource has a list of credentials" do
36
- subject.reference.each_value do |provider_data|
37
+ subject.reference.each_pair do |name,provider_data|
37
38
  expect(provider_data['credentials'].class).to eq(Hash)
38
39
  end
39
40
  end
40
41
  end
42
+
43
+ context "#shared" do
44
+ before do
45
+ @verifications = Outliers::Verifications::Shared.instance_methods.map {|m| m.to_s.chomp('?')}
46
+ end
47
+
48
+ it "should be able to load shared.yaml" do
49
+ expect(subject.shared.keys.count > 0).to be_true
50
+ end
51
+
52
+ it "should verify each shared verfiication method has an entry in shared.yaml" do
53
+ @verifications.each do |name|
54
+ expect(subject.shared['verifications'].keys.include?(name)).to be_true
55
+ end
56
+ end
57
+
58
+ it "should verify each verification in shared.yaml has a shared verification method" do
59
+ subject.shared['verifications'].keys.each do |name|
60
+ expect(@verifications.include?(name)).to be_true
61
+ end
62
+ end
63
+
64
+ end
41
65
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: outliers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Weaver
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-15 00:00:00.000000000 Z
11
+ date: 2013-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -138,6 +138,7 @@ files:
138
138
  - lib/outliers/version.rb
139
139
  - outliers.gemspec
140
140
  - reference.yaml
141
+ - shared.yaml
141
142
  - spec/collection_spec.rb
142
143
  - spec/credentials_spec.rb
143
144
  - spec/evaluation_spec.rb