All installations require a central workspace known as the chef-repo. This is a place where primitive objects--cookbooks, roles, environments, data bags, and chef-repo configuration files--are stored and managed.
The chef-repo should be kept under version control, such as git, and then managed as if it were source code.
Knife is the command line interface for Chef. The chef-repo contains a .chef directory (which is a hidden directory by default) in which the Knife configuration file (knife.rb) is located. This file contains configuration settings for the chef-repo.
The knife.rb file is automatically created by the starter kit. This file can be customized to support configuration settings used by cloud provider options and custom knife plugins.
Also located inside the .chef directory are .pem files, which contain private keys used to authenticate requests made to the Chef server. The USERNAME.pem file contains a private key unique to the user (and should never be shared with anyone). The ORGANIZATION-validator.pem file contains a private key that is global to the entire organization (and is used by all nodes and workstations that send requests to the Chef server).
More information about knife.rb configuration options can be found in the documentation for knife.
- lytc - basic cookbook
- gitserver - install and configure gitserver
- currency_converter - dev and prod env for currency-converter
- atlasck - prod env for atlasck
- wiki - moin env for apilytic.org
- zikraft - env for zikraft.org
- db - Database configuration and setup
- proxy - Proxy configuration and setup for individual apps
- version_control - Version control
Now that you have the chef-repo ready to go, check out Learn Chef to proceed with your workstation setup. If you have any questions about Chef you can always ask our support team for a helping hand.