Skip to content

Commit 7c90873

Browse files
authored
Merge pull request #1 from bonusbits/dev
v1.1.0
2 parents 8a33dfc + fc1c82e commit 7c90873

17 files changed

Lines changed: 275 additions & 47 deletions

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# CHANGE LOG
22

3+
## 1.1.0 - 10/27/2017 - Levon Becker
4+
* Added Backups Tests
5+
* Added CloudWatch Tests
6+
* Simplified configure args local variable to be named the same
7+
* Added Gemfile.lock to keep CircleCI in-line for testing
8+
* Added Java Install Tests
9+
310
## 1.0.5 - 04/17/2017 - Levon Becker
411
* Switch attribute/arg for inside_aws to discovery method.
512

Gemfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
source 'https://rubygems.org'
22

3-
gem 'inspec', '~> 1.11'
4-
gem 'rake', '~> 12.0.0'
3+
gem 'inspec', '~> 1.25.0'
4+
gem 'rake', '~> 10.4'
55

66
group :style do
7-
gem 'rubocop', '~> 0.46.0'
7+
gem 'rubocop', '~> 0.47.0'
88
end

Gemfile.lock

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.4.0)
5+
ast (2.3.0)
6+
blankslate (2.1.2.4)
7+
builder (3.2.3)
8+
coderay (1.1.1)
9+
diff-lcs (1.3)
10+
docker-api (1.33.3)
11+
excon (>= 0.38.0)
12+
json
13+
erubis (2.7.0)
14+
excon (0.55.0)
15+
faraday (0.9.2)
16+
multipart-post (>= 1.2, < 3)
17+
ffi (1.9.18)
18+
gssapi (1.2.0)
19+
ffi (>= 1.0.1)
20+
gyoku (1.3.1)
21+
builder (>= 2.1.2)
22+
hashie (3.5.6)
23+
httpclient (2.8.3)
24+
inspec (1.25.1)
25+
addressable (~> 2.4)
26+
faraday (>= 0.9.0)
27+
hashie (~> 3.4)
28+
json (>= 1.8, < 3.0)
29+
method_source (~> 0.8)
30+
mixlib-log
31+
parallel (~> 1.9)
32+
parslet (~> 1.5)
33+
pry (~> 0)
34+
rainbow (~> 2)
35+
rspec (~> 3)
36+
rspec-its (~> 1.2)
37+
rubyzip (~> 1.1)
38+
semverse
39+
sslshake (~> 1.2)
40+
thor (~> 0.19)
41+
toml (~> 0.1)
42+
train (>= 0.22.0, < 1.0)
43+
json (1.8.6)
44+
little-plugger (1.1.4)
45+
logging (2.2.0)
46+
little-plugger (~> 1.1)
47+
multi_json (~> 1.10)
48+
method_source (0.8.2)
49+
mixlib-log (1.7.1)
50+
mixlib-shellout (2.3.2)
51+
multi_json (1.12.1)
52+
multipart-post (2.0.0)
53+
net-scp (1.2.1)
54+
net-ssh (>= 2.6.5)
55+
net-ssh (4.1.0)
56+
nori (2.6.0)
57+
parallel (1.11.1)
58+
parser (2.4.0.0)
59+
ast (~> 2.2)
60+
parslet (1.5.0)
61+
blankslate (~> 2.0)
62+
powerpack (0.1.1)
63+
pry (0.10.4)
64+
coderay (~> 1.1.0)
65+
method_source (~> 0.8.1)
66+
slop (~> 3.4)
67+
rainbow (2.2.2)
68+
rake
69+
rake (10.5.0)
70+
rspec (3.6.0)
71+
rspec-core (~> 3.6.0)
72+
rspec-expectations (~> 3.6.0)
73+
rspec-mocks (~> 3.6.0)
74+
rspec-core (3.6.0)
75+
rspec-support (~> 3.6.0)
76+
rspec-expectations (3.6.0)
77+
diff-lcs (>= 1.2.0, < 2.0)
78+
rspec-support (~> 3.6.0)
79+
rspec-its (1.2.0)
80+
rspec-core (>= 3.0.0)
81+
rspec-expectations (>= 3.0.0)
82+
rspec-mocks (3.6.0)
83+
diff-lcs (>= 1.2.0, < 2.0)
84+
rspec-support (~> 3.6.0)
85+
rspec-support (3.6.0)
86+
rubocop (0.47.1)
87+
parser (>= 2.3.3.1, < 3.0)
88+
powerpack (~> 0.1)
89+
rainbow (>= 1.99.1, < 3.0)
90+
ruby-progressbar (~> 1.7)
91+
unicode-display_width (~> 1.0, >= 1.0.1)
92+
ruby-progressbar (1.8.1)
93+
rubyntlm (0.6.1)
94+
rubyzip (1.2.1)
95+
semverse (2.0.0)
96+
slop (3.6.0)
97+
sslshake (1.2.0)
98+
thor (0.19.1)
99+
toml (0.1.2)
100+
parslet (~> 1.5.0)
101+
train (0.23.0)
102+
docker-api (~> 1.26)
103+
json (>= 1.8, < 3.0)
104+
mixlib-shellout (~> 2.0)
105+
net-scp (~> 1.2)
106+
net-ssh (>= 2.9, < 5.0)
107+
winrm (~> 2.0)
108+
winrm-fs (~> 1.0)
109+
unicode-display_width (1.3.0)
110+
winrm (2.2.1)
111+
builder (>= 2.1.2)
112+
erubis (~> 2.7)
113+
gssapi (~> 1.2)
114+
gyoku (~> 1.0)
115+
httpclient (~> 2.2, >= 2.2.0.2)
116+
logging (>= 1.6.1, < 3.0)
117+
nori (~> 2.0)
118+
rubyntlm (~> 0.6.0, >= 0.6.1)
119+
winrm-fs (1.0.1)
120+
erubis (~> 2.7)
121+
logging (>= 1.6.1, < 3.0)
122+
rubyzip (~> 1.1)
123+
winrm (~> 2.0)
124+
125+
PLATFORMS
126+
ruby
127+
128+
DEPENDENCIES
129+
inspec (~> 1.25.0)
130+
rake (~> 10.4)
131+
rubocop (~> 0.47.0)
132+
133+
BUNDLED WITH
134+
1.12.5

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# InSpec Bonus Bits Base Cookbook Profile
2+
[![Project Release](https://img.shields.io/badge/release-v1.1.0-blue.svg)](https://github.com/bonusbits/inspec_bonusbits_base)
23
[![CircleCI](https://circleci.com/gh/bonusbits/inspec_bonusbits_base.svg?style=shield)](https://circleci.com/gh/bonusbits/inspec_bonusbits_base)
34
[![Join the chat at https://gitter.im/bonusbits](https://badges.gitter.im/bonusbits/bonusbits.svg)](https://gitter.im/bonusbits?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5+
[![GitHub issues](https://img.shields.io/github/issues/bonusbits/inspec_bonusbits_base.svg)](https://github.com/bonusbits/inspec_bonusbits_base/issues)
46

57
Used to run integration tests for when using the [bonusbits_base](https://github.com/bonusbits/bonusbits_base) Chef Cookbook.
68

@@ -44,10 +46,16 @@ suites:
4446
| all | debug | Boolean | false | true/false |
4547
| aws | inside_aws | Boolean | false | true/false |
4648
| aws | configure_aws_profile | Boolean | true | true/false |
49+
| backups | configure_backups | Boolean | false | true/false |
50+
| cloudwatch | configure_cloudwatch | Boolean | false | true/false |
4751
| cloudwatch_logs | inside_aws | Boolean | false | true/false |
4852
| cloudwatch_logs | configure_cloudwatch_logs | Boolean | true | true/false |
4953
| epel | configure_epel | Boolean | false | true/false |
5054
| epel | install_epel_packages | Boolean | false | true/false |
55+
| java | install_java | Boolean | false | true/false |
56+
| java | java_package_name | String | java-1.8.0-openjdk | N/A |
57+
| java | specify_version | Boolean | false | true/false |
58+
| java | java_version | String | 1.8.0.151-1.b12.35.amzn1 | N/A |
5159
| node_info | configure_node_info | Boolean | true | true/false |
5260
| packages | install_packages | Boolean | true | true/false |
5361
| packages | amazon_packages | Array | long list | array of package names |

circle.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ jobs:
33
build:
44
working_directory: ~/circulate
55
docker:
6-
- image: chef/chefdk:1.2.22
6+
- image: chef/chefdk:1.6.1
77
steps:
88
- checkout
99
- run:

controls/aws.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
require_relative '../helpers/os_queries'
22

33
inside_aws = ec2?
4-
configure_aws_profile = attribute('configure_aws_profile', default: true, description: 'Configure Proxy').to_s.eql?('true') ? true : false
4+
configure = attribute('configure_aws_profile', default: true, description: 'Configure Proxy').to_s.eql?('true') ? true : false
55

66
debug = attribute('debug', default: false, description: 'Enable Debugging').to_s.eql?('true') ? true : false
7-
puts "ATTR: Configure AWS Profile (#{configure_aws_profile})" if debug
7+
puts "ATTR: Configure AWS Profile (#{configure})" if debug
88

99
profile_settings = %w(
1010
AWS_REGION
1111
)
1212

1313
if os.linux? && inside_aws
14-
if configure_aws_profile
14+
if configure
1515
describe 'AWS Profile' do
1616
it 'Configured' do
1717
profile_settings.each do |value|

controls/backups.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
require_relative '../helpers/os_queries'
2+
3+
inside_aws = ec2?
4+
configure = attribute('configure_backups', default: false, description: 'Configure Backups').to_s.eql?('true') ? true : false
5+
6+
debug = attribute('debug', default: false, description: 'Enable Debugging').to_s.eql?('true') ? true : false
7+
if debug
8+
puts "ATTR: Inside AWS (#{inside_aws})"
9+
puts "ATTR: Configure Backups (#{configure})"
10+
end
11+
12+
if os.linux? && configure
13+
describe 'Backup Script' do
14+
it '/usr/bin/backup_to_s3.rb' do
15+
expect(file('/usr/bin/backup_to_s3.rb')).to exist
16+
expect(file('/usr/bin/backup_to_s3.rb')).to be_owned_by('root')
17+
end
18+
end
19+
end

controls/cloudwatch.rb

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
require_relative '../helpers/os_queries'
2+
3+
inside_aws = ec2?
4+
configure = attribute('configure_cloudwatch', default: true, description: 'Configure CloudWatch Monitoring').to_s.eql?('true') ? true : false
5+
6+
debug = attribute('debug', default: false, description: 'Enable Debugging').to_s.eql?('true') ? true : false
7+
if debug
8+
puts "ATTR: Inside AWS (#{inside_aws})"
9+
puts "ATTR: Configure CloudWatch (#{configure})"
10+
end
11+
12+
if os.linux? && configure
13+
describe 'CloudWatch Monitoring' do
14+
it 'Scripts' do
15+
expect(file('/opt/aws-scripts-mon/mon-put-instance-data.pl')).to exist
16+
expect(file('/opt/aws-scripts-mon/mon-put-instance-data.pl')).to be_owned_by('root')
17+
end
18+
19+
if inside_aws
20+
it 'Cron' do
21+
expect(service('awslogs')).to be_enabled
22+
expect(service('awslogs')).to be_running
23+
end
24+
end
25+
end
26+
end

controls/cloudwatch_logs.rb

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,36 @@
11
require_relative '../helpers/os_queries'
22

3+
# Can not call method in Describe call, but can use local variable as condition.
34
inside_aws = ec2?
4-
configure_cloudwatch_logs = attribute('configure_cloudwatch_logs', default: true, description: 'Configure CloudWatch Logs').to_s.eql?('true') ? true : false
5+
amazon = amazon?
6+
configure = attribute('configure_cloudwatch_logs', default: true, description: 'Configure CloudWatch Logs').to_s.eql?('true') ? true : false
57

68
debug = attribute('debug', default: false, description: 'Enable Debugging').to_s.eql?('true') ? true : false
79
if debug
8-
puts "ATTR: Inside AWS (#{inside_aws})"
9-
puts "ATTR: Configure CloudWatch Logs (#{configure_cloudwatch_logs})"
10+
puts "ATTR: Inside AWS (#{inside_aws})"
11+
puts "ATTR: Configure CloudWatch Logs (#{configure})"
1012
end
1113

12-
if os.linux? && configure_cloudwatch_logs
14+
if os.linux? && configure
1315
describe 'CloudWatch Logs' do
14-
it 'awslogs installed' do
15-
expect(package('awslogs')).to be_installed
16+
if amazon
17+
it 'Agent RPM' do
18+
expect(package('awslogs')).to be_installed
19+
end
1620
end
1721

18-
it 'has awscli.conf' do
22+
it 'awscli.conf' do
1923
expect(file('/etc/awslogs/awscli.conf')).to exist
2024
expect(file('/etc/awslogs/awscli.conf')).to be_owned_by('root')
2125
end
2226

23-
it 'has awslogs.conf' do
24-
expect(file('/etc/awslogs/awslogs.conf')).to exist
25-
expect(file('/etc/awslogs/awslogs.conf')).to be_owned_by('root')
26-
end
27-
2827
if inside_aws
29-
it 'awslogs service' do
28+
it 'awslogs.conf' do
29+
expect(file('/etc/awslogs/awslogs.conf')).to exist
30+
expect(file('/etc/awslogs/awslogs.conf')).to be_owned_by('root')
31+
end
32+
33+
it 'Service' do
3034
expect(service('awslogs')).to be_enabled
3135
expect(service('awslogs')).to be_running
3236
end

controls/epel.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
require_relative '../helpers/os_queries'
22

3-
configure_epel = attribute('configure_epel', default: false, description: 'Configure EPEL').to_s.eql?('true') ? true : false
3+
configure = attribute('configure_epel', default: false, description: 'Configure EPEL').to_s.eql?('true') ? true : false
44
install_epel_packages = attribute('install_epel_packages', default: false, description: 'Install EPEL Packages').to_s.eql?('true') ? true : false
55

66
debug = attribute('debug', default: false, description: 'Enable Debugging').to_s.eql?('true') ? true : false
77
if debug
8-
puts "ATTR: Configure EPEL (#{configure_epel})"
8+
puts "ATTR: Configure EPEL (#{configure})"
99
puts "ATTR: Install EPEL Packages (#{install_epel_packages})"
1010
end
1111

1212
if os.redhat?
13-
if configure_epel
13+
if configure
1414
# Verify EPEL is setup
1515
describe 'EPEL Repo' do
1616
it 'Setup' do

0 commit comments

Comments
 (0)