Skip to content

TechDirectArchive

Hands-on IT, Cloud, Security, Veeam & DevOps

  • Home
  • About
  • Advertise With US
  • Reviews
  • Tech News
  • Contact
  • Toggle search form

Repo: How to setup Chef Repository

Posted on 14/12/201817/08/2026 IT Expert By IT Expert No Comments on Repo: How to setup Chef Repository
  1. Home
  2. Configuration Management Tool
  3. Repo: How to setup Chef Repository
Chef

A Chef repository (chef-repo) is a directory on your workstation that stores everything required to define and manage your infrastructure with Chef Infra. It acts as your primary codebase for infrastructure-as-code. It is recommended to placed in Git of any of the VCS your cookbooks etc. see Domain Name System Protocol: Client Registration Issue, how to fix “DNS Bad key 9017: The Cluster Name registration failed of one or more associated DNS names“, and Domain Name System: How to create a DNS record.

A Chef repository contains several directories. Each directory in the StarterKit contains a README file that describes the directory’s purpose, and how to use it for managing your systems with Chef. There are two ways to get cookbooks installed on your Chef server. Either by using the,
– knife commands, or
– Berkshelf commands. 

Create a directory on your local PC for storing cookbooks similar to the Chef-repo

Create a directory on yourlocal computer for storing cookbooks, such as chef-repo. After you addcookbooks, roles, and other files to this repository, we recommend that youupload or store it in a secure, versioned system, such as AWS CodeCommit, Git,or Amazon S3.

  • In the chef-repo directory, create the following three directories, as shown in the Starter Kit:
    1. cookbooks/ – Stores cookbooks that you download or create.
    2. roles/ – Stores rolesin .rb or .json formats.
    3. environments/ – Stores environments in .rb or .json formats
Setup
Picture1 2

Use-Case 1

However, Use Berkshelf to get Cookbooks from the Chef Supermarket:

Berkshelf is a tool for managing cookbooks and their dependencies. It downloads a specified cookbook into your local storage, which is called the Berkshelf. Moreover, You can specify which cookbooks and versions to use with your Chef server and upload them.

First: Let’s try this very basic example.
Step 1: Navigate to Chef supermarket https://supermarket.chef.io/ and search for Google Chrome and Firefox.

Furthermore, locate the Berksfile as shown below and add the Firefox and Google Chrome codebooks as shown below. This ensures the cookbooks are downloaded and stored locally.

Locate the path where you have the starter kit downloaded to, mine is 

C:UsersyournameChefAutomatechef-automateserver
Repository
Picture1 4

Additionally, Let’s modify the Berksfile and add the cookbooks for Firefox and chrome gotten from the Chef Supermarket.

Configuration

Step 2: Download and install the cookbooks on your local Computer. Launch the Chef Dk client (PowerShell)

Nevertheless, Navigate to the Chef local Repository from the Chef Dk terminal otherwise this will not work if you are in a different directory. Therefore, See the image below and run the command. See screenshoot below for the Repo content.

Chef
Screenshot 2018 12 14 at 09.01.53

Step 3: Upload this cookbook to Chef Server

Consequently, This is different from how it works on Linux than on Windows. See the following link: https://docs.aws.amazon.com/opsworks/latest/userguide/opscm-starterkit.html

Nonetheless, For Windows, Ensure the Execution Policy in PowerShell is set to RemoteSigned. Similarly, The execution policy ensures you can load configuration files and determine which script, if any, must be digitally signed. See the image below on how to set the execution policy to RemoteSigned.

Picture1 6
Picture1 6

This simply restricts us from running unsigned PowerShell scripts downloaded from the Internet.

Run berksinstall
Picture1 7
Picture1 7

Otherwise, you wouldn’t be able to upload your cookbooks. Moreover, Verify if this is installed by running the command below in the console.

berks –version

Next run the command below to add the SSL Cert file.

$env:SSL_CERT_FILE="ca_certsopsworks-cm-ca-2016-root.pem"

However, Then run berks upload to upload to the Chef Server

'berks upload'

Furthermore, remove the SSL Cert File

Remove-Item Env:SSL_CERT_FILE

To verify that this worked, simply run the command “knife cookbook list” as shown below

Picture1 8
Picture1 8

Rate this post

Thank you for reading this post. Kindly share it with others.

  • Share on X (Opens in new window) X
  • Share on Reddit (Opens in new window) Reddit
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Share on Facebook (Opens in new window) Facebook
  • Share on Pinterest (Opens in new window) Pinterest
  • Share on Tumblr (Opens in new window) Tumblr
  • Share on Telegram (Opens in new window) Telegram
  • Share on WhatsApp (Opens in new window) WhatsApp
  • Share on Mastodon (Opens in new window) Mastodon
  • Share on Bluesky (Opens in new window) Bluesky
  • Share on Threads (Opens in new window) Threads
  • Share on Nextdoor (Opens in new window) Nextdoor
Configuration Management Tool Tags:AWS, Repository

Post navigation

Previous Post: Get Started with OpsWorks for Chef Automate
Next Post: Chef – Node Bootstrapping

Related Posts

  • ansible logo600 591x296 1
    Ansible_user=UNREACHABLE {Failed to connect to the host via SSH: SSH: Could not resolve hostname (Name or service not known, unreachable true) Configuration Management Tool
  • image 117
    Deploy MVC Application to AWS EC2 Using RDP and Web Deploy Configuration Management Tool
  • ansible logo600 591x296 1 1
    Ansible error: Server unreachable, ssl: auth method ssl requires a password Configuration Management Tool
  • ansible 1
    How to fix no Python interpreters found for the host Configuration Management Tool
  • Create S3 Bucket with Terraform
    Create an S3 Bucket with Terraform AWS/Azure/OpenShift
  • 1 ifg3ir3l 8ejus3pueqt0a
    Fix cannot find KDC for realm while getting initial credentials and kinit configuration file does not specify default realm Configuration Management Tool

More Related Articles

ansible logo600 591x296 1 Ansible_user=UNREACHABLE {Failed to connect to the host via SSH: SSH: Could not resolve hostname (Name or service not known, unreachable true) Configuration Management Tool
image 117 Deploy MVC Application to AWS EC2 Using RDP and Web Deploy Configuration Management Tool
ansible logo600 591x296 1 1 Ansible error: Server unreachable, ssl: auth method ssl requires a password Configuration Management Tool
ansible 1 How to fix no Python interpreters found for the host Configuration Management Tool
Create S3 Bucket with Terraform Create an S3 Bucket with Terraform AWS/Azure/OpenShift
1 ifg3ir3l 8ejus3pueqt0a Fix cannot find KDC for realm while getting initial credentials and kinit configuration file does not specify default realm Configuration Management Tool

Leave a Reply Cancel reply

You must be logged in to post a comment.

Microsoft MVP

VEEAMLEGEND

vexpert-badge-stars-5

Virtual Background

GoogleNews

Categories

veeaam100

Veeam Vanguard

  • Upgrade the embedded PostgreSQL for Veeam Backup and replication
    How to upgrade PostgreSQL Engine used by VBR Backup
  • Webp.net resizeimage 4
    Create a Service Fabric Cluster using the Azure Stack Hub portal and the CLI AWS/Azure/OpenShift
  • azure resource groups 1
    Setup Public Load Balancer in Azure AWS/Azure/OpenShift
  • drivelock 1280x720 1
    The server could not be reached or validated: Timeout expired. The Time out expired prior to obtaining a connection from the pool Security | Vulnerability Scans and Assessment
  • create a Lenovo USB Recovery key
    Windows 10 Yoga Recovery: Download the files needed to create a Lenovo USB Recovery key Windows
  • Cross Domain Folders Access
    Cross Domain Folders Access: Reference account is Locked out Windows
  • VBR upgrade to 13.1
    Strategic breakdown and step by step guide to upgrading to VBR 13.1 Backup
  • Use PowerShell to View and Change BIOS Settings
    Use PowerShell to View and Change BIOS Settings Windows

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 1,762 other subscribers
  • RSS - Posts
  • RSS - Comments
  • About
  • Authors
  • Write for us
  • Advertise with us
  • General Terms and Conditions
  • Privacy policy
  • Feedly
  • Telegram
  • Youtube
  • Facebook
  • Instagram
  • LinkedIn
  • Tumblr
  • Pinterest
  • Twitter
  • mastodon

Tags

Active Directory Azure Bitlocker Microsoft Windows PowerShell WDS Windows 10 Windows 11 Windows Deployment Services Windows Server 2016

Copyright © 2026 TechDirectArchive

Loading Comments...

You must be logged in to post a comment.