inspec/omnibus/kitchen.yml
Tim Smith 559d6d3178 Modernize omnibus config and reduce omnibus package size (#3543)
* Modernize the kitchen config

This is basically the same one we use in chef/chef

* Modernize the omnibus deps
* Remove cookbook constraints
* Avoid security warnings when bundle installing
* Use the ruby-cleanup project to slim the omnibus package

We're using this in chef and DK to greatly reduce our artifact size. It's just a set of cleanup steps that are the same for all ruby omnibus projects.

Signed-off-by: Tim Smith <tsmith@chef.io>
2018-10-29 16:01:45 -04:00

95 lines
2.9 KiB
YAML

driver:
name: vagrant
forward_agent: yes
customize:
cpus: 4
memory: 4096
synced_folders:
- ['..', '/home/vagrant/inspec']
- ['../../omnibus', '/home/vagrant/omnibus']
- ['../../omnibus-software', '/home/vagrant/omnibus-software']
provisioner:
name: chef_zero
attributes:
vagrant:
this_key_exists_so_we_have_a_vagrant_key: true
omnibus:
build_user: vagrant
build_user_group: vagrant
build_user_password: vagrant
install_dir: /opt/inspec
platforms:
- name: centos-6
run_list: yum-epel::default
- name: centos-7
run_list: yum-epel::default
- name: debian-8
run_list: apt::default
- name: debian-9
run_list: apt::default
- name: ubuntu-14.04
run_list: apt::default
- name: ubuntu-16.04
run_list: apt::default
- name: ubuntu-18.04
run_list: apt::default
# The following (private) boxes are shared via Vagrant Cloud and are only
# available to users working for Chef. Sorry, it's about software licensing.
#
# Chef-internal users, you will need to:
# 1. Create an Vagrant Cloud account: http://vagrantcloud.com/
# 2. Ping #releng-support with your account name to be added to the relevant team.
# 3. Do `vagrant login` with your creds so that you can download the private boxes.
#
# The macOS boxes are VMware only also. You can enable VMware Fusion
# by activating the `kitchen.vmware.yml` file with the `KITCHEN_LOCAL_YAML`
# environment variable:
#
# KITCHEN_LOCAL_YAML=kitchen.vmware.yml kitchen converge chef-macosx-1011
#
# OSX
<% %w(
macosx-10.11
macos-10.12
macos-10.13
).each do |mac_version| %>
- name: <%= mac_version %>
driver:
provider: vmware_fusion
customize:
numvcpus: 4
memsize: 4096
box: chef/macosx-<%= mac_version %> # private
synced_folders:
- ['..', '/Users/vagrant/chef']
- ['../../omnibus', '/Users/vagrant/omnibus']
- ['../../omnibus-software', '/Users/vagrant/omnibus-software']
<% end %>
# By adding an `i386` to the name the Omnibus cookbook's `load-omnibus-toolchain.bat`
# will load the 32-bit version of the MinGW toolchain.
<% [ '', '-i386' ].each do |win_suffix| %>
- name: windows-2012r2-standard<%= win_suffix %>
driver:
box: chef/windows-server-2012r2-standard # private
synced_folders:
# We have to mount this repos enclosing folder as the Omnibus build
# gets cranky if the mounted source folder is a symlink. This
# mounts at `C:\vagrant\code` and the inspec source folder is available
# at `C:\vagrant\code\inspec`
- ['../..', '/vagrant/code']
provisioner:
attributes:
omnibus:
build_user: vagrant
build_user_group: Administrators
build_user_password: vagrant
install_dir: /opscode/inspec
<% end %>
suites:
- name: inspec
run_list: omnibus::default