Run Ad-Hoc tasks from the CLI
Apply dynamic, repeatable configurations to your servers directly over SSH or WinRM via chef-run. This provides a quick way to apply config changes to the systems you manage whether or not they’re being actively managed by Chef Infra, without requiring any pre-installed software.
Robust testing & development tools
Chef Workstation comes to replace Chef DK. It includes features such as development tools for testing, dependency resolution, and cookbook generation, ensuring that whether you’re consuming existing chef policies, or creating your own, you have everything you need to get up and running quickly.Learn more
Chef Workstation can be used to
Detect & Remediate Security Issues
- Scan a server to verify network time protocol (
ntp) is installed and running
- Remediate scan failure by Installing and configuring
- Re-scan server for compliance
$ inspec exec check_ntp.rb -t ssh://firstname.lastname@example.org Profile: tests from /Users/tball/check_ntp.rb (tests from .Users.tball.check_ntp.rb) Version: (not specified) Target: ssh://email@example.com:22 × check ntp: Service ntp (2 failed) × Service ntp is expected to be installed expected that `Service ntp` is installed × Service ntp is expected to be running expected that `Service ntp` is running Profile Summary: 0 successful controls, 1 control failure, 0 controls skipped Test Summary: 0 successful, 2 failures, 0 skipped $ chef-run ssh://firstname.lastname@example.org start_ntp.rb [✔] Packaging cookbook... done! [✔] Generating local policyfile... exporting... done! [✔] Applying start_ntp from /Users/tball/start_ntp.rb to target. └── [✔] [ubuntu1] Successfully converged start_ntp. $ inspec exec check_ntp.rb -t ssh://email@example.com Profile: tests from /Users/tball/check_ntp.rb (tests from .Users.tball.check_ntp.rb) Version: (not specified) Target: ssh://firstname.lastname@example.org:22 ✔ check ntp: Service ntp ✔ Service ntp is expected to be installed ✔ Service ntp is expected to be running Profile Summary: 1 successful control, 0 control failures, 0 controls skipped Test Summary: 2 successful, 0 failures, 0 skipped
Define Customized Automation
Visit Chef Supermarket to find a library of partner and community maintained configuration policy, or use Chef’s declarative resources to create custom automation for your organization.Learn more
$ chef generate cookbook my_custom_policy \ --copyright 'Jean Doe' --email email@example.com Generating cookbook my_custom_policy - Ensuring correct cookbook content - Committing cookbook files to git Your cookbook is ready. Type `cd my_custom_policy` to enter it. Why not start by writing an InSpec test? Tests for the default recipe are stored at: test/integration/default/default_test.rb If you'd prefer to dive right in, the default recipe can be found at: recipes/default.rb
Effortless Manage Infrastructure
Quickly configure servers directly over SSH or WinRM. Execute ad-hoc tasks on multiple hosts in parallel to quickly configure groups of servers.Learn More
chef-run `terraform output mynodes_public_ips` \ --user centos -i ~/.ssh/mykey \ package ntp ✔ Packaging cookbook... done! ✔ Generating local policyfile... exporting... done! \ Applying package[ntp] from resource to targets. \ 126.96.36.199 Applying package[ntp]... \ 188.8.131.52 Applying package[ntp]... \ 184.108.40.206 Applying package[ntp]...
Test Automation Locally Before You Publish
Chef Workstation includes Cookstyle and Test Kitchen to provide automated testing of your configuration policy. Combine these tools with Chef Automate to provide an auditable history of all change being applied to your environments.Learn More
$ kitchen test \ -----> Starting Test Kitchen (v2.5.3) -----> Cleaning up any prior instances of
-----> Destroying ... Finished destroying (0m0.00s). -----> Testing -----> Creating ... Bringing machine 'default' up with 'virtualbox' provider... ==> default: Checking if box 'bento/centos-7' version '202002.04.0' is up to date... ==> default: Machine not provisioned because `--no-provision` is specified.