The project is in a healthy, maintained state
A temporary stopgap Test Kitchen provisioner for chef-ice (chef-client 19+). Uninstall this gem once Chef Workstation ships with native chef-ice provisioning built in. See README.md for removal instructions.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

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.yml back 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: accept

Via 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: accept

Skip installation (pre-baked image)

provisioner:
  name: chef_ice
  install_strategy: skip
  chef_license: accept

Configuration

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:

  1. Uninstall the gem:

    chef exec gem uninstall kitchen-provisioner-ice-temp
    
  2. Update kitchen.yml — the provisioner name chef_ice won't change, but check the Chef Workstation release notes in case the built-in provisioner uses a different name.

  3. 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