inspec/test/cookbooks/os_prepare/recipes/default.rb

63 lines
1.8 KiB
Ruby
Raw Normal View History

2015-10-21 20:52:41 +00:00
# author: Christoph Hartmann
# author: Dominik Richter
#
# prepare all operating systems with the required configuration
apt_update if platform_family?('debian')
# inject the current inspec gem for use with audit cookbook
# this is generated via Rake test:integration
cookbook_file '/root/inspec-core-local.gem' do
source 'inspec-core-local.gem'
action :create
end
chef_gem 'inspec' do
source '/root/inspec-core-local.gem'
end
def uuid_from_string(string)
require 'digest/sha1'
hash = Digest::SHA1.new
hash.update(string)
ary = hash.digest.unpack('NnnnnN')
ary[2] = (ary[2] & 0x0FFF) | (5 << 12)
ary[3] = (ary[3] & 0x3FFF) | 0x8000
'%08x-%04x-%04x-%04x-%04x%08x' % ary
end
# set a static node uuid for our testing nodes
Chef::Config[:chef_guid] = uuid_from_string(node.name)
# confgure ssh
include_recipe('os_prepare::ssh')
# basic tests
2015-10-24 09:11:36 +00:00
include_recipe('os_prepare::file')
2016-05-10 17:23:11 +00:00
include_recipe('os_prepare::mount') unless node['osprepare']['docker']
include_recipe('os_prepare::service')
2015-10-24 09:11:36 +00:00
include_recipe('os_prepare::package')
2015-11-17 21:12:19 +00:00
include_recipe('os_prepare::registry_key')
include_recipe('os_prepare::iis')
2016-05-10 17:23:11 +00:00
include_recipe('os_prepare::iptables') unless node['osprepare']['docker']
include_recipe('os_prepare::x509')
include_recipe('os_prepare::dh_params')
2016-05-10 17:23:11 +00:00
# config file parsing
include_recipe('os_prepare::json_yaml_csv_ini_xml')
# configure repos, eg. nginx
include_recipe('os_prepare::apt')
# application configuration
if node['osprepare']['application'] && node['platform_family'] != 'windows'
2016-05-10 17:23:11 +00:00
include_recipe('os_prepare::postgres')
include_recipe('os_prepare::auditctl') unless node['osprepare']['docker']
include_recipe('os_prepare::apache')
end
# docker host testing
include_recipe('os_prepare::docker_host') unless node['osprepare']['docker']
include_recipe('os_prepare::os_env')