Chef Cookbook
Test-first Chef cookbook change flow: Test Kitchen red/green workflows, semver bump and CHANGELOG, bchef policy lockfiles, and a gated GitLab merge request.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| cookbookPath | string | Absolute path to the cookbook checkout (contains metadata.rb and .kitchen.yml) |
| suite? | string | Test Kitchen instance regex, e.g. 'default-ubuntu-2204' or 'all' |
| Argument | Type | Description |
|---|---|---|
| level | enum | |
| changes | array | Changelog bullet points |
| changelogFile? | string |
| Argument | Type | Description |
|---|---|---|
| branch | string | |
| message | string |
| Argument | Type | Description |
|---|---|---|
| branch | string |
Resources
RED phase of cookbook TDD. Converges the prod-like EC2 instance (defined by the cookbook's .kitchen.yml) on the UNCHANGED cookbook, then runs the new InSpec test and asserts it FAILS. A passing test here means the test proves nothing. The instance is left running so @reethikarr/chef-green can reuse it.
GREEN phase and release. Converges the changed cookbook, asserts the InSpec tests now pass, bumps the semver version and CHANGELOG, regenerates the lockfiles in policies/, commits, then WAITS for human approval before pushing and opening the merge request. The test instance is destroyed whether or not earlier jobs passed.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License2/2earned
- Verified public repository0/2missing
Spawns a subprocess with Deno.Command().
- models/chef_cookbook.ts:69 — no reason given