KITCHEN(1)

πŸ“¦ version 1.23.2, in ubuntu jammy

πŸ’– KITCHEN(1) πŸ’–

okay so bestie, welcome to the kitchen manual page (it lives in the User Commands section, iykyk) ✨


🌸 NAME 🌸

Kitchen β€” the integration tool for Chef. that's it. that's the name. slay πŸ’…


πŸŽ€ DESCRIPTION πŸŽ€

ngl, Test Kitchen is a test harness tool that lets you execute your configured code on one or more platforms in isolation. it's giving ✨science✨ but for your infrastructure.

the way it works is: there's a driver plugin architecture πŸ’« which means you can run your code on all kinds of cloud providers and virtualization technologies, like:

  • Amazon EC2
  • Blue Box
  • CloudStack
  • Digital Ocean
  • Rackspace
  • OpenStack
  • Vagrant
  • Docker
  • LXC containers
  • and more πŸ‘‘

also many testing frameworks are already supported out of the box, including Bats, shUnit2, RSpec, and Serverspec, with others being created weekly. literally weekly. the girlies are busy 🐝

for Chef workflows, cookbook dependency resolver tools such as Berkshelf and Librarian-Chef are supported 🫢 or honestly you can just have a cookbooks/ directory and Test Kitchen will know what to do. it just knows. main character energy fr fr.

and support for Test Kitchen is already included in many Chef community cookbooks, such as the MySQL, nginx, Chef Server, and runit cookbooks. obsessed πŸ˜­πŸ’–


✨ Commands: ✨

okay bestie here's the whole menu, no skips, no cuts, we're doing all of them πŸ’…

  • kitchen console β€” # Kitchen Console! 🌈
  • kitchen converge [INSTANCE|REGEXP|all] β€” # Change instance state to converge. Use a provisioner to configure one or more instances πŸ”§
  • kitchen create [INSTANCE|REGEXP|all] β€” # Change instance state to create. Start one or more instances 🌱
  • kitchen destroy [INSTANCE|REGEXP|all] β€” # Change instance state to destroy. Delete all information for one or more instances πŸ’€ (dramatic but true)
  • kitchen diagnose [INSTANCE|REGEXP|all] β€” # Show computed diagnostic configuration 🩺
  • kitchen driver β€” # Driver subcommands πŸš—
  • kitchen driver create [NAME] β€” # Create a new Kitchen Driver gem project πŸ’Ž
  • kitchen driver discover β€” # Discover Test Kitchen drivers published on RubyGems πŸ”
  • kitchen driver help [COMMAND] β€” # Describe subcommands or one specific subcommand πŸ“–
  • kitchen exec INSTANCE|REGEXP -c REMOTE_COMMAND β€” # Execute command on one or more instance πŸƒβ™€οΈ
  • kitchen help [COMMAND] β€” # Describe available commands or one specific command πŸ™‹β™€οΈ
  • kitchen init β€” # Adds some configuration to your cookbook so Kitchen can rock 🎸

a .kitchen.yml will be created in your project base directory. this file describes your testing configuration: what you want to test and on which target platforms. each of these suite and platform combinations are called instances πŸ‘‘

by default your instances will be converged with Chef Solo and run in Vagrant virtual machines. cute, right? ✨

  • kitchen list [INSTANCE|REGEXP|all] β€” # Lists one or more instances πŸ“‹
  • kitchen login INSTANCE|REGEXP β€” # Log in to one instance πŸ”‘
  • kitchen setup [INSTANCE|REGEXP|all] β€” # Change instance state to setup. Prepare to run automated tests. Install busser and related gems on one o... 🧰
  • kitchen test [INSTANCE|REGEXP|all] β€” # Test (destroy, create, converge, setup, verify and destroy) one or more instances πŸ§ͺ β€” yes it does all six, it's a whole journey
  • kitchen verify [INSTANCE|REGEXP|all] β€” # Change instance state to verify. Run automated tests on one or more instances βœ…
  • kitchen version β€” # Print Kitchen's version information 🏷️

πŸ’‘ quick vibe check: that setup description is verbatim-truncated as "on one o..." in the original, so we're keeping it exactly like that. no cap, don't @ me πŸ™ˆ

and that's the whole page bestie!! πŸ¦‹πŸŒΈβœ¨

this lil masterpiece is from Test Kitchen version 1.4.1, dated June 2015 β€” yeah she's a classic, an icon, a legend, and she IS the moment πŸ‘‘πŸ’– periodt πŸ’…

bye bestie, go converge something gorgeous πŸŽ€πŸŒˆπŸ«Ά

πŸ“¦ where this page comes from