summaryrefslogtreecommitdiff
path: root/omnibus/kitchen.yml
blob: a3db5b8499e969d886654365d31092604bacfb07 (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
#
# 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-9
    run_list: apt::default
  - name: freebsd-11
    run_list: freebsd::portsnap
  - name: ubuntu-18.04
    run_list: apt::default

  # macOS
  - name: macos-10.15
    driver:
      customize:
        numvcpus: 4
        memsize: 4096
      box: tas50/macos_10.15
      synced_folders:
      - ['..', '/Users/vagrant/chef']
      - ['../../omnibus', '/Users/vagrant/omnibus']
      - ['../../omnibus-software', '/Users/vagrant/omnibus-software']

  <% %w(
    10
    2012r2
  ).each do |win_version| %>
  # Windows 64-bit
  - name: windows-<%= win_version %>
    driver:
      box: tas50/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: tas50/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