summaryrefslogtreecommitdiff
path: root/omnibus/kitchen.yml
blob: 86c2afa24168fa0dd83743d764eec05095d4b8a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#
# NOTE: this runs the omnibus cookbook, but does not actually run Omnibus. Use
# 'kichen converge' to setup the virtual machine and then `kitchen login` to
# SSH into the machine and run Omnibus.
#

driver:
  name: vagrant
  forward_agent: yes
  customize:
    cpus: 4
    memory: 4096
  synced_folders:
    - ['../..', '/vagrant/code']
    - ['../../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
  product_name: angrychef
  product_version: latest
  chef_omnibus_root: /opt/angrychef
  chef_license: accept-no-persist

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: freebsd-11
    run_list: freebsd::portsnap
  - 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 %>

  <% %w(
    10-enterprise
    server-2012r2-standard
  ).each do |win_version| %>
  # Windows 64-bit
  - name: windows-<%= win_version %>
    driver:
      box: chef/windows-<%= win_version %> # private
      synced_folders:
      # We have to mount this repos enclosing folder as the Omnibus build
      # gets cranky if the mounted Chef source folder is a symlink. This
      # mounts at `C:\vagrant\code` and the Chef source folder is available
      # at `C:\vagrant\code\chef`
      - ['../..', '/vagrant/code']
      communicator: winrm
    provisioner:
      attributes:
        omnibus:
          build_user:          vagrant
          build_user_group:    Administrators
          build_user_password: vagrant
      chef_omnibus_root: /opscode/angrychef
    transport:
      name: winrm
      elevated: true

  # Windows 32-bit
  # 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.
  - name: windows-<%= win_version %>-i386
    driver:
      box: chef/windows-<%= win_version %> # private
      synced_folders:
      - ['../..', '/vagrant/code']
      communicator: winrm
    provisioner:
      attributes:
        omnibus:
          build_user:          vagrant
          build_user_group:    Administrators
          build_user_password: vagrant
      chef_omnibus_root: /opscode/angrychef
    transport:
      name: winrm
      elevated: true
  <% end %>

suites:
  # - name: angrychef
  #   attributes:
  #     omnibus:
  #       <<: *attribute_defaults
  #       install_dir: /opt/angrychef
  #   run_list:
  #     - omnibus::default
  - name: chef
    attributes:
      omnibus:
        toolchain_channel: stable
        toolchain_version: latest
        install_dir: /opt/chef
    run_list:
      - omnibus::default