The default cookbook gets the environment ready to develop chef cookbooks by installing chef-workstation.
- Debian Buster
- Chef 13.0+
Add the cookbook as a dependency, e.g. in your Berksfile:
cookbook 'codenamephp_chef', '~> 2.0.0'
Then use the resource in your recipes.
The codenamephp_chef_workstation
installs the chef-workstation package from the apt repository. The repository is not added automatically! You
use codenamephp_chef_repository
first or add the repository yourself. If you don't care at all about the repository you can set the
add_default_chef_repo
property to true. It then calls the repository resource for you with its defaults which means you lose control over the
repository settings.
install
: Installs the resource
puge_chefdk
: Boolean to purge the chefdk (old package) prior to installing, defaults to falseadd_default_chef_repo
: Boolean to add the default chef repo using the codenamephp_chef_repository with the default values. It's recommended that you use the resource yourself beforehand but this is a nice shortcut if you don't care about the repo and just need any chef workstation version
# Minimal properties
recipe do
codenamephp_chef_workstation 'Install chef-workstation'
end
# add chef repo
recipe do
codenamephp_chef_workstation 'Install chef-workstation' do
add_default_chef_repo true
end
end
# don't purge chefdk
recipe do
codenamephp_chef_workstation 'Install chef-workstation' do
purge_chefdk false
end
end
The codenamephp_chef_environment
resource adds the chef init command and the chef ruby bin to path by using codenamephp_bash
to manage bashrc.d
configs for the given user.
install
: Installs the bash files to init chef
users
: Array of usernames as strings for which the envirnment should be installedskel
: Boolean to enable the management of/etc/skel
so users that are created after chef will get the chef init as well, defaults to false
# Minimal properties
codenamephp_chef_environment 'Setup chef' do
users %w[user1 user2]
end
# also manage skel
recipe do
codenamephp_chef_environment 'Setup chef' do
users %w[user1 user2]
skel true
end
end
The codenamephp_chef_repository
resource adds the chef repository to apt so the workstation resource can do its thing. Should be used before codenamephp_chef_workstation
install
: Installs the repositoryremove
: Removes the repository
channel
: (stable|current) Sets the channel to use for apt. Defaults to 'current' so the latest version is used
# Minimal properties
codenamephp_chef_repository 'Add chef repo' do
users %w[user1 user2]
end
# use stable
recipe do
codenamephp_chef_repository 'Add chef repo with stable' do
channel 'stable'
end
end