What is the significance of the default directory under chef cookbook /templates?
A cookbook is frequently designed to work across many platforms and is often required to distribute a specific template to a specific platform. This is a New in Chef Client 12.0. A cookbook can be designed to support the distribution of templates across platforms, while ensuring that the correct template ends up on each system.
The pattern for template specificity depends on two things: the lookup path and the source. The first pattern that matches is used:
/host-$fqdn/$source
/$platform-$platform_version/$source
/$platform/$source
/default/$source
/$source
Use an array with the source property to define an explicit lookup path. For example:
A cookbook may have a /templates directory structure like this:
/templates/
windows-6.2
windows-6.1
windows-6.0
windows
default
and a resource that looks something like the following:
template ‘C:\path\to\file\text_file.txt’ do
source ‘text_file.txt’
mode ‘0755’
owner ‘root’
group ‘root’
end
This resource would be matched in the same order as the /templates directory structure. For a node named host-node-desktop that is running Windows 7, the second item would be the matching item and the location:
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at Cotocus. I share tech blog at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow , and SEO strategies at Wizbrand.
Why do we make a new cookbook dependent upon one or more different cookbooks? So that we don’t breach copyright So that we can make use of Berkshelf So we can avoid having to duplicate code (Ans) So that we can manage a node running Linux So that we can upload the cookbook to Chef…
Chef Server All logs generated by the Chef server can be found in /var/log/opscode. Each service enabled on the system also has a sub-directory in which service-specific logs are located, typically found in /var/log/opscode/service_name. The Chef server has built-in support for easily tailing the logs that are generated. To view all the logs being generated…
History & Origin of Chef InSpec It was acquired in 2020 and merged to become Progress Chef. The company was founded as Opscode in 2008 by current Chief Technology Officer Adam Jacob, Jesse Robbins, Barry Steinglass, and Nathan Haneysmith. Chef was created by Adam Jacob as a tool for his consulting company, whose business model was to build…
What is Foodcritic? Foodcritic is a static linting tool that analyzes all of the Ruby code that is authored in a cookbook against a number of rules, and then returns a list of violations. In another word, Foodcritic is a helpful lint tool you can use to check your Chef cookbooks for common problems. We…
Provision a AWS ec2 vm using chef Step 1: Install chefdk Step 2: Setup AWS Credentails Step X: Setup your knife config Step X: Make sure following is set and exported in env. AWS_ACCESS_KEY_ID=secrets AWS_SECRET_ACCESS_KEY=secrets AWS_DEFAULT_REGION=us-east-1 AWS_SSH_KEY=your_ssh_key_name AWS_ACCESS_KEY=secrets AWS_SECRET_KEY=secrets Step 3: Genrate a new repository using the chef generate command > chef generate repo chefdk-provision-demo…
Chef Node Objects Defined! For the chef-client, two important aspects of nodes are groups of attributes and run-lists. An attribute is a specific piece of data about the node, such as a network interface, a file system, the number of clients a service running on a node is capable of accepting, and so on. A…