I'm new to Chef, and have successfully configured my three nodes - workstation, client, and server. Chef docs mention a chef "repo," and its contents look very similar to the chef server. What is the difference between the two, or are they synonymous? I'm asking because other folks in my company who have been using chef, have setup a chef-repo directory in subversion, and this box is different from the chef server I set up. Thanks!
The chef-repo is the location in which the following data objects are stored: Cookbooks (including recipes, attributes, custom resources, libraries, and templates) Roles.
The Chef server is the repository for recipes, cookbooks, node policies, roles, environments, and node metadata. Policies map the organization's business and operational requirements, process, and workflow to settings and objects stored on the server.
The Chef server stores cookbooks, the policies that are applied to nodes, and metadata that describes each registered node that is being managed by the chef-client. Nodes use the chef-client to ask the Chef server for configuration details, such as recipes, templates, and file distributions.
They are different.
The "Chef Repo" is the collection of "code" - cookbooks, recipes, etc. This is your codebase. To draw a parallel, this is the raw code you would push to SCM (like GitHub or BitBucket). If you were building a package, this would be a bunch of code.
The "Chef Server" is, among other things, and artifact store. It contains final, versioned artifacts (cookbooks), which are packaged from the "Chef Repo". If you were building a package, this would be a .deb
or .rpm
.
Your nodes will communicate only with the Chef Server. So the local development you do in the Chef Repo is not applied until the artifact is packaged and uploaded to the Chef Server.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With