kitchen-provisioner-ice-temp
⚠️ This is a temporary stopgap gem. It provides Chef ICE (Chef Infra Client 19+) support for Test Kitchen until a future Chef Workstation release ships with native chef-ice provisioning built in. Once you upgrade to that version of Chef Workstation, uninstall this gem and switch your
kitchen.ymlback to the built-in provisioner.
A Test Kitchen provisioner for Chef ICE (Chef Infra Client 19+).
This is a thin layer on top of the existing ChefInfra provisioner from kitchen-omnibus-chef. It overrides only the install path to use the Chef commercial downloads API (or a direct URL). Everything else — cookbook upload, data bags, roles, config files, chef-client --local-mode execution — is inherited.
Installation
gem install kitchen-provisioner-ice-temp
Or in your cookbook's Gemfile:
gem "kitchen-provisioner-ice-temp"Usage
Via Chef commercial downloads API
provisioner:
name: chef_ice
product_version: 19.2.12 # or "latest"
channel: stable
chef_license_key: "your-key" # or set CHEF_LICENSE_KEY env var
chef_license: acceptVia direct download URL
provisioner:
name: chef_ice
download_url: https://my-mirror.example.com/chef-ice-19.2.12-1_amd64.deb
checksum: abc123... # optional SHA-256
chef_license: acceptSkip installation (pre-baked image)
provisioner:
name: chef_ice
install_strategy: skip
chef_license: acceptConfiguration
All settings from the standard chef_infra / chef_zero provisioner are supported. Additional settings:
| Setting | Default | Description |
|---|---|---|
product_version |
latest |
Chef ICE version |
channel |
stable |
Release channel |
chef_license_key |
ENV["CHEF_LICENSE_KEY"] |
License key for commercial API |
downloads_api_url |
https://commercial-acceptance.downloads.chef.co |
API base URL |
download_url |
nil |
Direct package URL (bypasses API) |
Removal
When a future Chef Workstation ships with native chef-ice support:
-
Uninstall the gem:
chef exec gem uninstall kitchen-provisioner-ice-temp -
Update
kitchen.yml— the provisioner namechef_icewon't change, but check the Chef Workstation release notes in case the built-in provisioner uses a different name. -
Remove from Gemfile (if listed):
# DELETE this line: gem "kitchen-provisioner-ice-temp"
That's it — all other configuration (product_version, channel, chef_license_key, etc.) should carry over to the built-in provisioner unchanged.
License
Apache-2.0