Install Chef Workstation
- macOS, Windows, RHEL, Ubuntu: https://docs.chef.io/workstation/install_workstation/
- Arch Linux: https://aur.archlinux.org/packages/chef-workstation
rbenv
If you use rbenv to manage Ruby versions on your system, install the (rbenv-chef-workstation)[https://github.com/docwhat/rbenv-chef-workstation] plugin.
Install gem dependencies
bundle install
Bootstrap a new server
knife zero bootstrap root@dev.kosmos.org --run-list "recipe[kosmos-base],..." -j '{"example_cookbook":{"memory_max":"256M"}}' --secret-file .chef/encrypted_data_bag_secret
Bootstrap a new VM
knife zero bootstrap ubuntu@zerotier-ip-address -x ubuntu --sudo --run-list "recipe[kosmos-base]" --secret-file .chef/encrypted_data_bag_secret
Run Chef Zero
knife zero converge name:dev.kosmos.org
Run Chef Zero on a VM
knife zero converge -a knife_zero.host name:vm-name-23
Update Chef Client on a server:
knife zero converge name:dev.kosmos.org --client-version 15.3.14
Managing cookbooks
Cookbooks are managed via Berkshelf. Run berks --help
for command help.
Install cookbooks listed in Berksfile:
berks install
Vendor installed cookbooks to the cookbooks/
dir:
berks vendor cookbooks/ --delete
Languages
Ruby
60.5%
HTML
35.5%
C
2%
PowerShell
1%
Shell
0.9%