$ account chef
Chef Infra Client is a mature, production-grade configuration management agent written in Ruby. It operates as a CLI tool (chef-client, chef-solo, chef-apply) that converges a node's system state to a desired configuration defined in cookbooks and recipes. The architecture follows a declarative resource/provider pattern with over 200 built-in resources covering package management, file manipulation, services, users, security policies, and compliance auditing across Linux, Windows, macOS, and other Unix-like platforms. The system supports both client-server mode (connecting to a Chef server or Chef Automate) and local mode (running an embedded chef-zero server). Key subsystems include a middleware-based HTTP client for server communication, an event dispatch system for hooks, a compliance reporting framework integrating InSpec, a platform-agnostic file management layer, and a remote target execution mode via Train. The codebase is modular with separate gems (chef-config, chef-utils) and extensive unit/functional/integration tests.
Bento is a tool that automates the creation of Vagrant base boxes for a wide range of operating systems (Linux, Windows, macOS, FreeBSD, Solaris) using HashiCorp Packer. It provides a Ruby CLI (`bento`) that wraps Packer builds, manages metadata, runs Test Kitchen validation, and uploads boxes to Vagrant Cloud. The repository contains parameterized Packer HCL templates, OS-specific variable files, provisioner scripts (shell and PowerShell), and Windows unattended answer files. The architecture is a CLI orchestrator that delegates to external tools (Packer, Vagrant, VirtualBox, VMware, etc.) with a focus on reproducibility and multi-provider support. Although it originated from the Chef ecosystem, it is a standalone infrastructure tool used to produce the official 'bento' Vagrant boxes.