Skip to content

0003. Chef Tools Installed as Ruby Gems

Status

Accepted

Context

Chef Workstation is the official all-in-one package for Chef development. It bundles chef-cli, cookstyle, test-kitchen, berkshelf, InSpec, and more.

However, Chef Workstation: - Is only available as .deb, .rpm, and .dmg packages — no Alpine/musl build exists. - Ships its own embedded Ruby, which conflicts with mise-managed Ruby. - Is ~800 MB installed, most of which is unused for our use case.

The alternative is to install the individual tools as Ruby gems under the mise-managed Ruby.

Decision

Install chef-cli, cookstyle, test-kitchen, and berkshelf as Ruby gems (gem install --no-document) in the mise-managed Ruby environment.

Do not install Chef Workstation or its omnibus package.

Consequences

Easier: - Works natively on Alpine/musl with mise-managed Ruby. - Much smaller footprint than Chef Workstation (~50 MB gems vs ~800 MB omnibus). - Gem versions update independently and can be tracked by Renovate. - No embedded Ruby conflicts.

Harder: - The chef omnibus meta-command is not available; use chef-cli instead. - InSpec is not included by default (add gem install inspec if needed later). - Some Chef community tooling assumes Workstation is installed; cookbook READMEs may reference chef exec which maps to chef-cli exec in this setup.