• This repository has been archived on 26/Jul/2024
  • Stars
    star
    171
  • Rank 222,213 (Top 5 %)
  • Language
    Ruby
  • Created about 11 years ago
  • Updated almost 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The chef-book

chef-book

This is pretty out of date now. Please checkout http://learn.chef.io as a great learning resource!

NOTE: This book was inspired by another post I made. If you want some background click that link. :)

The Prerequisites (skills) you need before reading this book

First and foremost, I'm writing this for Linux/Unix-based operatng systems. Chef can run on Windows and OSX, but that's not what I want to focus on. So please if these commands don't make sense to you, you should probably look for another book before reading this one.

  • cd OR ls OR mkdir or grep
  • vim OR emacs OR nano
  • bash OR zsh

This book is aimed at a junior level Linux sysadmin, or an intermediate level Linux sysadmin that needs a primer on Chef. Another way to look at it is if you can pass the Linux+ you should be qualified to understand this book.

You should be able to get in and out of the editor that you choose. You should be relatively comfortable with the command line in general. Like most technology how-to books, I want to get to the meat of the system as quickly as possible. I'm apologizing ahead of time if you are confused; most if not all should be fixed via a google search pretty easily. I am writing this to be "open-source" so if there is a place that should be fleshed out better, don't hesitated to put a comment in, or hell, make a pull request and flesh it out yourself!

The situations you might be in that brought you to read/look for this book

The first situation is the one that I came from. I started my journey with Chef about 2-3 years ago, initially as a scripter, then at another company supporing a chef_repo that was already way too complex. I had no idea what I was looking at and was overwhelmed. I had previousy used Puppet extensively but Chef just seemed baffling. I did my damnedest to read all the blog posts, wiki sites, and how-tos I could find. I eventually threw up my hands and said "no". If you feel overwhelmed with chef and yet this video still intrigues you, hopefully this book will make your journey easier. I'm writing this book to my past self who would have KILLED for all this information in one location.

The second situation is a simpler one: you're a new junior Linux Sysadmin (or Developer), and your team uses Chef. You have no idea what you are looking at, and your boss just told you to create a new cookbook to control something. This book will walk you through you building a test environment and hopefully give you a foundation to confidently write your first cookbook!

The third situation is a sad but true one. You're an intermediate Linux Sysadmin; you watched this video and you now realize your bash provisioning scripts are dumb and error prone, so you've decided to take the plunge. This book should walk you through enough to be extremely dangerous, and pique your interest to run with it.

Contents

Part one

1. VirtualBox

2. Vagrant

3. VM setup

4. Chef DK

Part two

5. chef-zero

6. Write a simple base cookbook

7. Vagrant provisioning vs local chef-zero

Part three

8. knife

9. knife plugins

10. Open Source Chef Server vs Hosted Chef Server

11. Connecting Open Source or Hosted Chef to a VM

Part four

12. Uploading your cookbook to your Chef Server

13. metadata.rb

14. Environments, Roles, oh-my

15. Places to find cookbooks

Part five

16. Berkshelf Primer

17. I know something should go here

18. I know something should go here

19. I know something should go here

Part six

20. Testing with Chef

21. minitest handler cookbook

22. Server Spec

23. ChefSpec

24. Integrating with Jenkins or CI in general

Building the PDF

TODO: probably going to steal upgradingrails4 system. Need to play with it. I need suggestions here, pandoc looks extremely promising

Even more promising: https://github.com/schacon/git-scribe

Directories

meta: stuff for the book that isn't the book.

Acknowledgements

To everyone I bugged and poked about helping me out, thanks so much.

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

More Repositories

1

alfred-org-capture

Making Alfred and org-capture play nice.
Emacs Lisp
49
star
2

pxe_dust-cookbook

Development repository for Chef Cookbook pxe_dust
Ruby
48
star
3

jenkinsfile_cookbook_pipeline

Example Jenkinsfile and Explaination for Chef Cookbook Development
36
star
4

factorio-cookbook

Provision factorio headless-server
Ruby
32
star
5

cloud-native-python-example-app

A simple app to help play and demo Cloud Native things
Python
25
star
6

COBOL-on-k8s

Running an ETL pipeline with COBOL on Kubernetes
Shell
23
star
7

actions-words-really-matter

This is a simple docker container that walks through a directory and creates a PR for some changes.
Shell
17
star
8

COBOL-on-openshift

A demo repository for getting a COBOL application working on OpenShift 4
COBOL
14
star
9

ibmcloud-free-k8s-cluster

Helper scripts to create a **free** Kubernetes Cluster on IBM Cloud
Shell
13
star
10

chef-jenkins-vagrant

My "recipe" how I got Chef Jenkins and Vagrant to play nice.
Ruby
10
star
11

docker-lita

Simple docker lita bot container
Ruby
10
star
12

lita-ambush

Allow lita to ambush your users
Ruby
8
star
13

chef-tmate-slave

Dev version of a chef-solo focused cookbook to provision tmate-slave
Ruby
7
star
14

minecraft-basic

A vanilla install cookbook for Minecraft
Ruby
7
star
15

chef-openstack-testing-stack

DEPRICATED: please go to https://github.com/stackforge/openstack-chef-repo
Ruby
6
star
16

nagios-status-rackspace

nagios scripts to check https://status.rackspace.com
Shell
6
star
17

hubot-chef

A hubot chef/knife wrapper script
CoffeeScript
6
star
18

scripts

Scripts that I've written that might be useful one day
Shell
5
star
19

inspec-vmware-example

An example InSpec profile to run a control to validate TSM-SSH against ESXi
Ruby
5
star
20

coredns-playbook

A simple ansible playbook to get coredns up and running
HTML
4
star
21

how-docker-and-rails-play-together

A simple template to show how you can use docker and a rails app with docker-compose.
Ruby
4
star
22

spam_defend_our_kids

A selenium script to spam that horrible website
Python
4
star
23

test-kitchen-el

Run test-kitchen inside of emacs
Emacs Lisp
4
star
24

chef-sensu-windows

A chef book to provision sensu for windows
Ruby
3
star
25

ibmcloud-k8s-the-hardway

JJ's collection and schedule for doing Kelsey Hightower's Kubernetes The Hard Way
3
star
26

vcenter-packer-ansible-inspec

A demo pipeline to work with vCenter Packer Ansible and InSpec
PowerShell
3
star
27

vra-iaas-cookbook

Ruby
3
star
28

kitchen-ansible-example

A simple example project for test-kitchen, ansible, Inspec
Shell
3
star
29

lita-days

Sometimes you'd like to know what 90 days from now is.
Ruby
3
star
30

git-hooks

Shell
3
star
31

provision_mac

my chef solo to provision a mac
Ruby
2
star
32

wifi-qr-code

A wrapper script around creating WiFi QR codes
Shell
2
star
33

vim-wrong-words-oss

A plugin to check for words Open Source projects shouldn't have in their documentation.
Vim Script
2
star
34

jjasghar.github.io

SCSS
2
star
35

chefdk-cookbook

A straightforward way to install the ChefDK with Chef
Ruby
2
star
36

bazaar

Development repository for Chef cookbook bazaar
Ruby
2
star
37

gitops-tutorial

My core GitOps tutorial repository
2
star
38

os-chef-bot

#openstack-chef's hubot instance.
CoffeeScript
2
star
39

openshift-example

A simple repo to show off everything you need to do an example deployment to OpenShift
Shell
2
star
40

hubot-dance

A dance script for hubot
CoffeeScript
2
star
41

mycharts

Helm Charts to help the community!
Smarty
2
star
42

.emacs.d

My constantly improving .emacs.d directory
YASnippet
2
star
43

devstack-cookbook

A chef wrapper to install devstack
Ruby
2
star
44

snipmate-snippets

my snipmate snippets
2
star
45

vsphere-automate-build-cookbook

A vSphere Automate build cookbook and examples
Ruby
2
star
46

kitchen-openstack-testing

kitchen-openstack-testing coobook
Ruby
2
star
47

lita-nope-octopus

Sometimes you need the nope octopus to answer
Ruby
1
star
48

hello-goodbye-tekton-example

My simple tekton pipeline example running on kind
Shell
1
star
49

hubot-quote-grab

Sometimes you want to grab good quotes from your channels, and randomly call them back
CoffeeScript
1
star
50

hubot-welcome

CoffeeScript
1
star
51

zshell_configs

My zshell configs
Shell
1
star
52

hanlon-cookbook

A cookbook to build and deal with the dependancies for hanlon
Ruby
1
star
53

kvm-lxc-scripts

kvm and lxc scripts
Shell
1
star
54

vmworld2017-demo

VMworld 2017 Demo Repo
Ruby
1
star
55

folding-at-home-playbook

A simple playbook to get a linux machine starting to run Folding@Home.
1
star
56

ibm-cloudnative-tools

Everything you need for Cloud Native tooling for the IBM Cloud
Dockerfile
1
star
57

dotfiles-prechef

dotfiles are cool
Vim Script
1
star
58

chef-provisioning-fog-example

chef-provisioning-fog example setup
Ruby
1
star
59

hubot-imgur_puns

An annoying script for hubot to respond to pun or puns
CoffeeScript
1
star
60

nagios-check-template

Nagios Check Templates. (you know you don't remember these)
Shell
1
star
61

reveal-md-cookbook

Getting reveal-md up and running ASAP
Ruby
1
star
62

lita-utc

Sometimes you want to know the UTC time
Ruby
1
star
63

hubot-screenhero

Have hubot suggest a great screensharing program
CoffeeScript
1
star
64

jjbit

Ruby
1
star
65

debian-sid

A Chef cookbook to convert Debian releases (9) to Sid
Ruby
1
star
66

do-collectd-cookbook

HTML
1
star
67

provision

The Provisioner for DigitalRebar as a Stand Alone Golang Utility
JavaScript
1
star
68

python-twitter-to-mastodon

A twitter to mastodon reposter
Python
1
star
69

ibm-cloud-cli

All what you need for the Kube101 class by IBM
Shell
1
star
70

k8s-python-example

A simple k8s python example
HTML
1
star
71

myhubot

my chatbot playground
Ruby
1
star
72

vsphere_testing

A demo test cookbook for vsphere windows testing.
Ruby
1
star
73

lita-motivate

Allow lita to motivate your users!
Ruby
1
star
74

tigervnc-crc-playbook

An automated way to get convert a remote server into a workstation so you can run crc on it.
HTML
1
star
75

powercli-inspec

A custom resource for InSpec to call PowerCLI
Ruby
1
star
76

hubot-thesimpsons

Sometimes you want a screenshot or a quote from the greatest cartoon ever created
CoffeeScript
1
star