inspec-core 2.3.10 → 2.3.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +34 -13
- data/etc/plugin_filters.json +25 -0
- data/inspec-core.gemspec +1 -1
- data/lib/bundles/inspec-compliance/api.rb +3 -0
- data/lib/bundles/inspec-compliance/configuration.rb +3 -0
- data/lib/bundles/inspec-compliance/http.rb +3 -0
- data/lib/bundles/inspec-compliance/support.rb +3 -0
- data/lib/bundles/inspec-compliance/target.rb +3 -0
- data/lib/inspec/objects/attribute.rb +3 -0
- data/lib/inspec/plugin/v2.rb +3 -0
- data/lib/inspec/plugin/v2/filter.rb +62 -0
- data/lib/inspec/plugin/v2/installer.rb +21 -1
- data/lib/inspec/plugin/v2/loader.rb +4 -0
- data/lib/inspec/profile.rb +3 -1
- data/lib/inspec/version.rb +1 -1
- data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +25 -3
- data/lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb +65 -11
- data/lib/plugins/inspec-plugin-manager-cli/test/unit/cli_args_test.rb +5 -1
- data/lib/resources/package.rb +1 -1
- metadata +4 -197
- data/docs/.gitignore +0 -2
- data/docs/README.md +0 -41
- data/docs/dev/control-eval.md +0 -62
- data/docs/dev/filtertable-internals.md +0 -353
- data/docs/dev/filtertable-usage.md +0 -533
- data/docs/dev/integration-testing.md +0 -31
- data/docs/dev/plugins.md +0 -323
- data/docs/dsl_inspec.md +0 -354
- data/docs/dsl_resource.md +0 -100
- data/docs/glossary.md +0 -381
- data/docs/habitat.md +0 -193
- data/docs/inspec_and_friends.md +0 -114
- data/docs/matchers.md +0 -161
- data/docs/migration.md +0 -293
- data/docs/platforms.md +0 -119
- data/docs/plugin_kitchen_inspec.md +0 -60
- data/docs/plugins.md +0 -57
- data/docs/profiles.md +0 -576
- data/docs/reporters.md +0 -170
- data/docs/resources/aide_conf.md.erb +0 -86
- data/docs/resources/apache.md.erb +0 -77
- data/docs/resources/apache_conf.md.erb +0 -78
- data/docs/resources/apt.md.erb +0 -81
- data/docs/resources/audit_policy.md.erb +0 -57
- data/docs/resources/auditd.md.erb +0 -89
- data/docs/resources/auditd_conf.md.erb +0 -78
- data/docs/resources/bash.md.erb +0 -85
- data/docs/resources/bond.md.erb +0 -100
- data/docs/resources/bridge.md.erb +0 -67
- data/docs/resources/bsd_service.md.erb +0 -77
- data/docs/resources/chocolatey_package.md.erb +0 -68
- data/docs/resources/command.md.erb +0 -176
- data/docs/resources/cpan.md.erb +0 -89
- data/docs/resources/cran.md.erb +0 -74
- data/docs/resources/crontab.md.erb +0 -103
- data/docs/resources/csv.md.erb +0 -64
- data/docs/resources/dh_params.md.erb +0 -221
- data/docs/resources/directory.md.erb +0 -40
- data/docs/resources/docker.md.erb +0 -240
- data/docs/resources/docker_container.md.erb +0 -113
- data/docs/resources/docker_image.md.erb +0 -104
- data/docs/resources/docker_plugin.md.erb +0 -80
- data/docs/resources/docker_service.md.erb +0 -124
- data/docs/resources/elasticsearch.md.erb +0 -252
- data/docs/resources/etc_fstab.md.erb +0 -135
- data/docs/resources/etc_group.md.erb +0 -85
- data/docs/resources/etc_hosts.md.erb +0 -88
- data/docs/resources/etc_hosts_allow.md.erb +0 -84
- data/docs/resources/etc_hosts_deny.md.erb +0 -84
- data/docs/resources/file.md.erb +0 -543
- data/docs/resources/filesystem.md.erb +0 -51
- data/docs/resources/firewalld.md.erb +0 -117
- data/docs/resources/gem.md.erb +0 -108
- data/docs/resources/group.md.erb +0 -71
- data/docs/resources/grub_conf.md.erb +0 -111
- data/docs/resources/host.md.erb +0 -96
- data/docs/resources/http.md.erb +0 -207
- data/docs/resources/iis_app.md.erb +0 -132
- data/docs/resources/iis_site.md.erb +0 -145
- data/docs/resources/inetd_conf.md.erb +0 -104
- data/docs/resources/ini.md.erb +0 -86
- data/docs/resources/interface.md.erb +0 -68
- data/docs/resources/iptables.md.erb +0 -74
- data/docs/resources/json.md.erb +0 -73
- data/docs/resources/kernel_module.md.erb +0 -130
- data/docs/resources/kernel_parameter.md.erb +0 -63
- data/docs/resources/key_rsa.md.erb +0 -95
- data/docs/resources/launchd_service.md.erb +0 -67
- data/docs/resources/limits_conf.md.erb +0 -85
- data/docs/resources/login_defs.md.erb +0 -81
- data/docs/resources/mount.md.erb +0 -79
- data/docs/resources/mssql_session.md.erb +0 -78
- data/docs/resources/mysql_conf.md.erb +0 -109
- data/docs/resources/mysql_session.md.erb +0 -84
- data/docs/resources/nginx.md.erb +0 -89
- data/docs/resources/nginx_conf.md.erb +0 -148
- data/docs/resources/npm.md.erb +0 -78
- data/docs/resources/ntp_conf.md.erb +0 -70
- data/docs/resources/oneget.md.erb +0 -63
- data/docs/resources/oracledb_session.md.erb +0 -103
- data/docs/resources/os.md.erb +0 -153
- data/docs/resources/os_env.md.erb +0 -101
- data/docs/resources/package.md.erb +0 -130
- data/docs/resources/packages.md.erb +0 -77
- data/docs/resources/parse_config.md.erb +0 -113
- data/docs/resources/parse_config_file.md.erb +0 -148
- data/docs/resources/passwd.md.erb +0 -151
- data/docs/resources/pip.md.erb +0 -77
- data/docs/resources/port.md.erb +0 -147
- data/docs/resources/postgres_conf.md.erb +0 -89
- data/docs/resources/postgres_hba_conf.md.erb +0 -103
- data/docs/resources/postgres_ident_conf.md.erb +0 -86
- data/docs/resources/postgres_session.md.erb +0 -79
- data/docs/resources/powershell.md.erb +0 -112
- data/docs/resources/processes.md.erb +0 -119
- data/docs/resources/rabbitmq_config.md.erb +0 -51
- data/docs/resources/registry_key.md.erb +0 -197
- data/docs/resources/runit_service.md.erb +0 -67
- data/docs/resources/security_policy.md.erb +0 -57
- data/docs/resources/service.md.erb +0 -131
- data/docs/resources/shadow.md.erb +0 -267
- data/docs/resources/ssh_config.md.erb +0 -83
- data/docs/resources/sshd_config.md.erb +0 -93
- data/docs/resources/ssl.md.erb +0 -129
- data/docs/resources/sys_info.md.erb +0 -52
- data/docs/resources/systemd_service.md.erb +0 -67
- data/docs/resources/sysv_service.md.erb +0 -67
- data/docs/resources/upstart_service.md.erb +0 -67
- data/docs/resources/user.md.erb +0 -150
- data/docs/resources/users.md.erb +0 -137
- data/docs/resources/vbscript.md.erb +0 -65
- data/docs/resources/virtualization.md.erb +0 -67
- data/docs/resources/windows_feature.md.erb +0 -69
- data/docs/resources/windows_hotfix.md.erb +0 -63
- data/docs/resources/windows_task.md.erb +0 -95
- data/docs/resources/wmi.md.erb +0 -91
- data/docs/resources/x509_certificate.md.erb +0 -161
- data/docs/resources/xinetd_conf.md.erb +0 -166
- data/docs/resources/xml.md.erb +0 -95
- data/docs/resources/yaml.md.erb +0 -79
- data/docs/resources/yum.md.erb +0 -108
- data/docs/resources/zfs_dataset.md.erb +0 -63
- data/docs/resources/zfs_pool.md.erb +0 -57
- data/docs/shared/matcher_be.md.erb +0 -1
- data/docs/shared/matcher_cmp.md.erb +0 -43
- data/docs/shared/matcher_eq.md.erb +0 -3
- data/docs/shared/matcher_include.md.erb +0 -1
- data/docs/shared/matcher_match.md.erb +0 -1
- data/docs/shell.md +0 -217
- data/docs/style.md +0 -178
- data/examples/README.md +0 -8
- data/examples/custom-resource/README.md +0 -3
- data/examples/custom-resource/controls/example.rb +0 -7
- data/examples/custom-resource/inspec.yml +0 -8
- data/examples/custom-resource/libraries/batsignal.rb +0 -20
- data/examples/custom-resource/libraries/gordon.rb +0 -21
- data/examples/inheritance/README.md +0 -65
- data/examples/inheritance/controls/example.rb +0 -14
- data/examples/inheritance/inspec.yml +0 -16
- data/examples/kitchen-ansible/.kitchen.yml +0 -25
- data/examples/kitchen-ansible/Gemfile +0 -19
- data/examples/kitchen-ansible/README.md +0 -53
- data/examples/kitchen-ansible/files/nginx.repo +0 -6
- data/examples/kitchen-ansible/tasks/main.yml +0 -16
- data/examples/kitchen-ansible/test/integration/default/default.yml +0 -5
- data/examples/kitchen-ansible/test/integration/default/web_spec.rb +0 -28
- data/examples/kitchen-chef/.kitchen.yml +0 -20
- data/examples/kitchen-chef/Berksfile +0 -3
- data/examples/kitchen-chef/Gemfile +0 -19
- data/examples/kitchen-chef/README.md +0 -27
- data/examples/kitchen-chef/metadata.rb +0 -7
- data/examples/kitchen-chef/recipes/default.rb +0 -6
- data/examples/kitchen-chef/recipes/nginx.rb +0 -30
- data/examples/kitchen-chef/test/integration/default/web_spec.rb +0 -28
- data/examples/kitchen-puppet/.kitchen.yml +0 -23
- data/examples/kitchen-puppet/Gemfile +0 -20
- data/examples/kitchen-puppet/Puppetfile +0 -25
- data/examples/kitchen-puppet/README.md +0 -53
- data/examples/kitchen-puppet/manifests/site.pp +0 -33
- data/examples/kitchen-puppet/metadata.json +0 -11
- data/examples/kitchen-puppet/modules/.gitkeep +0 -0
- data/examples/kitchen-puppet/test/integration/default/web_spec.rb +0 -28
- data/examples/meta-profile/README.md +0 -37
- data/examples/meta-profile/controls/example.rb +0 -13
- data/examples/meta-profile/inspec.yml +0 -13
- data/examples/plugins/inspec-resource-lister/Gemfile +0 -12
- data/examples/plugins/inspec-resource-lister/LICENSE +0 -13
- data/examples/plugins/inspec-resource-lister/README.md +0 -62
- data/examples/plugins/inspec-resource-lister/Rakefile +0 -40
- data/examples/plugins/inspec-resource-lister/inspec-resource-lister.gemspec +0 -45
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister.rb +0 -16
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/cli_command.rb +0 -70
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/plugin.rb +0 -55
- data/examples/plugins/inspec-resource-lister/lib/inspec-resource-lister/version.rb +0 -10
- data/examples/plugins/inspec-resource-lister/test/fixtures/README.md +0 -24
- data/examples/plugins/inspec-resource-lister/test/functional/README.md +0 -18
- data/examples/plugins/inspec-resource-lister/test/functional/inspec_resource_lister_test.rb +0 -110
- data/examples/plugins/inspec-resource-lister/test/helper.rb +0 -26
- data/examples/plugins/inspec-resource-lister/test/unit/README.md +0 -17
- data/examples/plugins/inspec-resource-lister/test/unit/cli_args_test.rb +0 -64
- data/examples/plugins/inspec-resource-lister/test/unit/plugin_def_test.rb +0 -51
- data/examples/profile-attribute.yml +0 -2
- data/examples/profile-attribute/README.md +0 -14
- data/examples/profile-attribute/controls/example.rb +0 -11
- data/examples/profile-attribute/inspec.yml +0 -8
- data/examples/profile-sensitive/README.md +0 -29
- data/examples/profile-sensitive/controls/sensitive-failures.rb +0 -9
- data/examples/profile-sensitive/controls/sensitive.rb +0 -9
- data/examples/profile-sensitive/inspec.yml +0 -8
- data/examples/profile/README.md +0 -48
- data/examples/profile/controls/example.rb +0 -24
- data/examples/profile/controls/gordon.rb +0 -36
- data/examples/profile/controls/meta.rb +0 -36
- data/examples/profile/inspec.yml +0 -11
- data/examples/profile/libraries/gordon_config.rb +0 -59
@@ -1,16 +0,0 @@
|
|
1
|
-
---
|
2
|
-
- name: create nginx yum repo if OS family is RedHat
|
3
|
-
copy: src=nginx.repo dest=/etc/yum.repos.d/
|
4
|
-
owner=root group=root mode=0644
|
5
|
-
when: (ansible_os_family == "RedHat" and ansible_distribution_major_version == "7")
|
6
|
-
|
7
|
-
- name: ensure nginx is at the latest version if OS family is RedHat
|
8
|
-
yum: name=nginx state=latest
|
9
|
-
when: ansible_os_family == "RedHat"
|
10
|
-
|
11
|
-
- name: ensure nginx is at the latest version if OS family is Debian
|
12
|
-
apt: name=nginx state=latest
|
13
|
-
when: ansible_os_family == "Debian"
|
14
|
-
|
15
|
-
- name: ensure nginx is running (and enable it at boot)
|
16
|
-
service: name=nginx state=started enabled=yes
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# author: Christoph Hartmann
|
3
|
-
# author: Dominik Richter
|
4
|
-
|
5
|
-
# use basic tests
|
6
|
-
describe package('nginx') do
|
7
|
-
it { should be_installed }
|
8
|
-
end
|
9
|
-
|
10
|
-
# extend tests with metadata
|
11
|
-
control '01' do
|
12
|
-
impact 0.7
|
13
|
-
title 'Verify nginx service'
|
14
|
-
desc 'Ensures nginx service is up and running'
|
15
|
-
describe service('nginx') do
|
16
|
-
it { should be_enabled }
|
17
|
-
it { should be_installed }
|
18
|
-
it { should be_running }
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
# implement os dependent tests
|
23
|
-
web_user = 'www-data'
|
24
|
-
web_user = 'nginx' if os[:family] == 'centos'
|
25
|
-
|
26
|
-
describe user(web_user) do
|
27
|
-
it { should exist }
|
28
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
---
|
2
|
-
driver:
|
3
|
-
name: vagrant
|
4
|
-
|
5
|
-
provisioner:
|
6
|
-
name: chef_zero
|
7
|
-
|
8
|
-
verifier:
|
9
|
-
name: inspec
|
10
|
-
|
11
|
-
platforms:
|
12
|
-
- name: centos-7.1
|
13
|
-
- name: ubuntu-12.04
|
14
|
-
- name: ubuntu-14.04
|
15
|
-
|
16
|
-
suites:
|
17
|
-
- name: default
|
18
|
-
run_list:
|
19
|
-
- recipe[prepare]
|
20
|
-
attributes:
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
source 'https://rubygems.org'
|
3
|
-
|
4
|
-
gem 'inspec', path: '../../.'
|
5
|
-
|
6
|
-
group :test do
|
7
|
-
gem 'bundler', '~> 1.5'
|
8
|
-
gem 'minitest', '~> 5.5'
|
9
|
-
gem 'rake', '~> 10'
|
10
|
-
gem 'simplecov', '~> 0.10'
|
11
|
-
end
|
12
|
-
|
13
|
-
group :integration do
|
14
|
-
gem 'berkshelf', '~> 4.0'
|
15
|
-
gem 'test-kitchen', '~> 1.4'
|
16
|
-
gem 'kitchen-vagrant'
|
17
|
-
gem 'kitchen-inspec'
|
18
|
-
gem 'concurrent-ruby', '~> 0.9'
|
19
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# Test-Kitchen - InSpec with Chef Example
|
2
|
-
|
3
|
-
This example demonstrates a complete roundtrip via [Test-Kitchen](http://kitchen.ci/).
|
4
|
-
|
5
|
-
```bash
|
6
|
-
# install all dependencies
|
7
|
-
$ bundle install
|
8
|
-
# show all available tests
|
9
|
-
$ bundle exec kitchen list
|
10
|
-
Instance Driver Provisioner Verifier Transport Last Action
|
11
|
-
default-centos-71 Vagrant ChefSolo InSpec Ssh <Not Created>
|
12
|
-
default-ubuntu-1204 Vagrant ChefSolo InSpec Ssh <Not Created>
|
13
|
-
default-ubuntu-1404 Vagrant ChefSolo InSpec Ssh <Not Created>
|
14
|
-
|
15
|
-
# Now we are ready to run a complete test
|
16
|
-
$ bundle exec kitchen test default-ubuntu-1404
|
17
|
-
-----> Starting Kitchen (v1.4.2)
|
18
|
-
-----> Verifying <default-ubuntu-1404>...
|
19
|
-
|
20
|
-
...
|
21
|
-
|
22
|
-
Finished in 0.03241 seconds (files took 0.22475 seconds to load)
|
23
|
-
5 examples, 0 failures
|
24
|
-
|
25
|
-
Finished verifying <default-ubuntu-1404> (0m0.16s).
|
26
|
-
-----> Kitchen is finished. (0m0.82s)
|
27
|
-
```
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# author: Christoph Hartmann
|
3
|
-
# author: Dominik Richter
|
4
|
-
|
5
|
-
# install repositories for nginx
|
6
|
-
case node['platform']
|
7
|
-
when 'ubuntu'
|
8
|
-
include_recipe('apt')
|
9
|
-
# if ubuntu, install
|
10
|
-
apt_repository 'nginx-php' do
|
11
|
-
uri 'ppa:nginx/stable'
|
12
|
-
distribution node['lsb']['codename']
|
13
|
-
end
|
14
|
-
when 'centos'
|
15
|
-
# add repo for Centos 7
|
16
|
-
yum_repository 'nginx' do
|
17
|
-
description 'Nginx Repo'
|
18
|
-
baseurl 'http://nginx.org/packages/centos/7/x86_64'
|
19
|
-
gpgkey 'http://nginx.org/keys/nginx_signing.key'
|
20
|
-
action :create
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# install nginx package
|
25
|
-
package 'nginx'
|
26
|
-
|
27
|
-
# start the service
|
28
|
-
service 'nginx' do
|
29
|
-
action :start
|
30
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# author: Christoph Hartmann
|
3
|
-
# author: Dominik Richter
|
4
|
-
|
5
|
-
# use basic tests
|
6
|
-
describe package('nginx') do
|
7
|
-
it { should be_installed }
|
8
|
-
end
|
9
|
-
|
10
|
-
# extend tests with metadata
|
11
|
-
control '01' do
|
12
|
-
impact 0.7
|
13
|
-
title 'Verify nginx service'
|
14
|
-
desc 'Ensures nginx service is up and running'
|
15
|
-
describe service('nginx') do
|
16
|
-
it { should be_enabled }
|
17
|
-
it { should be_installed }
|
18
|
-
it { should be_running }
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
# implement os dependent tests
|
23
|
-
web_user = 'www-data'
|
24
|
-
web_user = 'nginx' if os[:family] == 'centos'
|
25
|
-
|
26
|
-
describe user(web_user) do
|
27
|
-
it { should exist }
|
28
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
---
|
2
|
-
driver:
|
3
|
-
name: vagrant
|
4
|
-
|
5
|
-
provisioner:
|
6
|
-
name: puppet_apply
|
7
|
-
# Not installing chef since inspec is used for testing
|
8
|
-
require_chef_for_busser: false
|
9
|
-
manifests_path: manifests
|
10
|
-
modules_path: modules
|
11
|
-
|
12
|
-
verifier:
|
13
|
-
name: inspec
|
14
|
-
|
15
|
-
platforms:
|
16
|
-
- name: centos-7.1
|
17
|
-
- name: ubuntu-12.04
|
18
|
-
- name: ubuntu-14.04
|
19
|
-
|
20
|
-
suites:
|
21
|
-
- name: default
|
22
|
-
provisioner:
|
23
|
-
manifest: site.pp
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
source 'https://rubygems.org'
|
3
|
-
|
4
|
-
gem 'inspec', path: '../../.'
|
5
|
-
|
6
|
-
group :test do
|
7
|
-
gem 'bundler', '~> 1.5'
|
8
|
-
gem 'minitest', '~> 5.5'
|
9
|
-
gem 'rake', '~> 10'
|
10
|
-
gem 'simplecov', '~> 0.10'
|
11
|
-
end
|
12
|
-
|
13
|
-
group :integration do
|
14
|
-
gem 'test-kitchen', '~> 1.4'
|
15
|
-
gem 'kitchen-vagrant'
|
16
|
-
gem 'kitchen-puppet'
|
17
|
-
gem 'librarian-puppet'
|
18
|
-
gem 'kitchen-inspec'
|
19
|
-
gem 'concurrent-ruby', '~> 0.9'
|
20
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
#^syntax detection
|
3
|
-
|
4
|
-
forge "https://forgeapi.puppetlabs.com"
|
5
|
-
|
6
|
-
# use dependencies defined in metadata.json
|
7
|
-
metadata
|
8
|
-
|
9
|
-
# use dependencies defined in Modulefile
|
10
|
-
# modulefile
|
11
|
-
|
12
|
-
# A module from the Puppet Forge
|
13
|
-
# mod 'puppetlabs-stdlib'
|
14
|
-
|
15
|
-
# A module from git
|
16
|
-
# mod 'puppetlabs-ntp',
|
17
|
-
# :git => 'git://github.com/puppetlabs/puppetlabs-ntp.git'
|
18
|
-
|
19
|
-
# A module from a git branch/tag
|
20
|
-
# mod 'puppetlabs-apt',
|
21
|
-
# :git => 'https://github.com/puppetlabs/puppetlabs-apt.git',
|
22
|
-
# :ref => '1.4.x'
|
23
|
-
|
24
|
-
# A module from Github pre-packaged tarball
|
25
|
-
# mod 'puppetlabs-apache', '0.6.0', :github_tarball => 'puppetlabs/puppetlabs-apache'
|
@@ -1,53 +0,0 @@
|
|
1
|
-
# Test-Kitchen - InSpec with Puppet Example
|
2
|
-
|
3
|
-
This example demonstrates a complete roundtrip via [Test-Kitchen](http://kitchen.ci/).
|
4
|
-
|
5
|
-
```bash
|
6
|
-
# install all dependencies
|
7
|
-
$ bundle install
|
8
|
-
# show all available tests
|
9
|
-
$ bundle exec kitchen list
|
10
|
-
Instance Driver Provisioner Verifier Transport Last Action
|
11
|
-
default-centos-71 Vagrant PuppetApply Inspec Ssh <Not Created>
|
12
|
-
default-ubuntu-1204 Vagrant PuppetApply Inspec Ssh <Not Created>
|
13
|
-
default-ubuntu-1404 Vagrant PuppetApply Inspec Ssh <Not Created>
|
14
|
-
|
15
|
-
# Now we are ready to run a complete test
|
16
|
-
$ bundle exec kitchen test default-ubuntu-1404
|
17
|
-
-----> Starting Kitchen (v1.4.2)
|
18
|
-
-----> Cleaning up any prior instances of <default-ubuntu-1404>
|
19
|
-
-----> Destroying <default-ubuntu-1404>...
|
20
|
-
Finished destroying <default-ubuntu-1404> (0m0.00s).
|
21
|
-
-----> Testing <default-ubuntu-1404>
|
22
|
-
-----> Creating <default-ubuntu-1404>...
|
23
|
-
Bringing machine 'default' up with 'virtualbox' provider...
|
24
|
-
==> default: Importing base box 'opscode-ubuntu-14.04'...
|
25
|
-
|
26
|
-
...
|
27
|
-
|
28
|
-
Vagrant instance <default-ubuntu-1404> created.
|
29
|
-
Finished creating <default-ubuntu-1404> (0m33.62s).
|
30
|
-
-----> Converging <default-ubuntu-1404>...
|
31
|
-
Preparing files for transfer
|
32
|
-
|
33
|
-
...
|
34
|
-
|
35
|
-
Finished converging <default-ubuntu-1404> (0m48.95s).
|
36
|
-
-----> Setting up <default-ubuntu-1404>...
|
37
|
-
Finished setting up <default-ubuntu-1404> (0m0.00s).
|
38
|
-
-----> Verifying <default-ubuntu-1404>...
|
39
|
-
.....
|
40
|
-
|
41
|
-
Finished in 0.08278 seconds (files took 1 minute 22.81 seconds to load)
|
42
|
-
5 examples, 0 failures
|
43
|
-
|
44
|
-
Finished verifying <default-ubuntu-1404> (0m0.22s).
|
45
|
-
-----> Destroying <default-ubuntu-1404>...
|
46
|
-
==> default: Forcing shutdown of VM...
|
47
|
-
==> default: Destroying VM and associated drives...
|
48
|
-
Vagrant instance <default-ubuntu-1404> destroyed.
|
49
|
-
Finished destroying <default-ubuntu-1404> (0m3.97s).
|
50
|
-
Finished testing <default-ubuntu-1404> (1m26.79s).
|
51
|
-
-----> Kitchen is finished. (1m27.34s)
|
52
|
-
|
53
|
-
```
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# == Class prepare::site
|
2
|
-
#
|
3
|
-
|
4
|
-
# Install nginx from package repos
|
5
|
-
case $osfamily {
|
6
|
-
'RedHat': {
|
7
|
-
yumrepo { 'nginx':
|
8
|
-
descr => 'Nginx Repo',
|
9
|
-
baseurl => 'http://nginx.org/packages/centos/7/x86_64',
|
10
|
-
gpgkey => 'http://nginx.org/keys/nginx_signing.key',
|
11
|
-
enabled => 1
|
12
|
-
}
|
13
|
-
|
14
|
-
package { 'nginx':
|
15
|
-
require => [Yumrepo[nginx]],
|
16
|
-
ensure => 'latest'
|
17
|
-
}
|
18
|
-
}
|
19
|
-
'Debian': {
|
20
|
-
package { 'nginx':
|
21
|
-
ensure => 'latest'
|
22
|
-
}
|
23
|
-
}
|
24
|
-
default: {
|
25
|
-
fail("Unsupported platform: ${osfamily}/${operatingsystem}")
|
26
|
-
}
|
27
|
-
}
|
28
|
-
|
29
|
-
# Start the service
|
30
|
-
service { 'nginx':
|
31
|
-
enable => 'true',
|
32
|
-
ensure => 'running'
|
33
|
-
}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "prepare",
|
3
|
-
"version": "0.1.0",
|
4
|
-
"author": "support@chef.io",
|
5
|
-
"summary": "This module prepares the test operating systems",
|
6
|
-
"license": "Apache-2.0",
|
7
|
-
"source": "https://github.com/chef/inspec/examples/kitchen-puppet",
|
8
|
-
"project_page": "https://github.com/chef/inspec/examples/kitchen-puppet",
|
9
|
-
"issues_url": "https://github.com/chef/inspec/issues",
|
10
|
-
"dependencies": []
|
11
|
-
}
|
File without changes
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# author: Christoph Hartmann
|
3
|
-
# author: Dominik Richter
|
4
|
-
|
5
|
-
# use basic tests
|
6
|
-
describe package('nginx') do
|
7
|
-
it { should be_installed }
|
8
|
-
end
|
9
|
-
|
10
|
-
# extend tests with metadata
|
11
|
-
control '01' do
|
12
|
-
impact 0.7
|
13
|
-
title 'Verify nginx service'
|
14
|
-
desc 'Ensures nginx service is up and running'
|
15
|
-
describe service('nginx') do
|
16
|
-
it { should be_enabled }
|
17
|
-
it { should be_installed }
|
18
|
-
it { should be_running }
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
# implement os dependent tests
|
23
|
-
web_user = 'www-data'
|
24
|
-
web_user = 'nginx' if os[:family] == 'centos'
|
25
|
-
|
26
|
-
describe user(web_user) do
|
27
|
-
it { should exist }
|
28
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# meta-profile
|
2
|
-
|
3
|
-
The inspec.yml file in this profile shows how one can use dependencies
|
4
|
-
from non-local sources such as Git or an HTTP url. This feature can
|
5
|
-
be used to build up a environment-wide profile that is based on more
|
6
|
-
specific profiles managed by others.
|
7
|
-
|
8
|
-
InSpec supports multiple profile locations:
|
9
|
-
|
10
|
-
```
|
11
|
-
depends:
|
12
|
-
# defaults to supermarket
|
13
|
-
- name: hardening/ssh-hardening
|
14
|
-
# remote tar or zip file
|
15
|
-
- name: os-hardening
|
16
|
-
url: https://github.com/dev-sec/tests-os-hardening/archive/master.zip
|
17
|
-
# git
|
18
|
-
- git: https://github.com/dev-sec/ssl-baseline.git
|
19
|
-
- name: windows-patch-benchmark
|
20
|
-
git: https://github.com/chris-rock/windows-patch-benchmark.git
|
21
|
-
# Chef Compliance
|
22
|
-
- name: linux
|
23
|
-
compliance: base/linux
|
24
|
-
```
|
25
|
-
|
26
|
-
You could use those dependencies in your `example.rb`:
|
27
|
-
|
28
|
-
```
|
29
|
-
|
30
|
-
include_controls 'hardening/ssh-hardening'
|
31
|
-
include_controls 'os-hardening'
|
32
|
-
include_controls 'ssl-baseline'
|
33
|
-
include_controls 'linux'
|
34
|
-
include_controls 'windows-patch-benchmark'
|
35
|
-
```
|
36
|
-
|
37
|
-
Further details are described in our [InSpec Docs](https://www.inspec.io/docs/reference/profiles/)
|