A Test Kitchen provisioner for Cinc Client (the community distribution of Chef Infra Client) that downloads and installs omnibus packages via the Cinc omnitruck API.
This Test Kitchen plugin provides provisioners that automatically download and install the desired version of Cinc Client on your test instances. This allows you to test your cookbooks against different Cinc versions without pre-installing Cinc on your images.
Note: This gem will ship as part of Cinc Workstation. If you're using Cinc Workstation, no additional installation is necessary.
For standalone installation, add this line to your Gemfile:
gem "kitchen-cinc"Then execute:
bundle installOr install it directly:
gem install kitchen-cincThis gem provides five provisioners:
cinc_infra— Modern Cinc Client provisioner using local mode (recommended)cinc_zero— Deprecated alias forcinc_infra(maintained for backward compatibility)cinc_solo— Cinc Solo provisioner (note: does not support parallel converge)cinc_apply— Cinc Apply provisioner for running individual recipescinc_target— Cinc Target Mode provisioner (requires Cinc 19.0.0+, Train-based transport)
To use the Cinc Infra provisioner in your kitchen.yml:
provisioner:
name: cinc_infra---
driver:
name: vagrant
provisioner:
name: cinc_infra
product_name: cinc
install_strategy: always
channel: stable
platforms:
- name: ubuntu-24.04
- name: almalinux-9
suites:
- name: default
run_list:
- recipe[my_cookbook::default]---
driver:
name: dokken
privileged: true
chef_image: cincproject/cinc
chef_version: latest
provisioner:
name: cinc_infra
product_name: cinc
transport:
name: dokken
platforms:
- name: ubuntu-24.04
driver:
image: dokken/ubuntu-24.04
pid_one_command: /bin/systemd
- name: almalinux-9
driver:
image: dokken/almalinux-9
pid_one_command: /usr/lib/systemd/systemdEvery option exposed by the provisioners is documented under
docs/:
- Provisioners — overview of
cinc_infra,cinc_zero,cinc_solo,cinc_apply, andcinc_target. - Installation options —
product_name,product_version,channel,install_strategy,download_url,checksum, proxies, and the legacy omnibus options. - Converge options —
run_list,attributes, logging,multiple_converge,enforce_idempotency,client_rb/solo_rb, Chef Zero host/port, and more. - Cookbook resolution — Policyfile and Berkshelf integration.
- Paths — sandbox, on-instance, and binary paths.
- Target mode — extra requirements and option
overrides for
cinc_target.
bundle install
bundle exec rake # Run all tests and linting
bundle exec rake spec # Run unit tests only
bundle exec rake lint # Run Cookstyle linting only# Vagrant
KITCHEN_YAML=kitchen.yml bundle exec kitchen test
# Docker (Dokken)
KITCHEN_YAML=kitchen.dokken.yml bundle exec kitchen testApache-2.0 — see LICENSE for details.