# Introducing chef-ingredient

**URL:** <https://discourse.chef.io/t/introducing-chef-ingredient/6702>\
**Category:** Chef Infra (archive)\
**Created:** [June 26, 2015, 5:32am UTC](https://discourse.chef.io/t/introducing-chef-ingredient/6702 "2015-06-26T05:32:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jtimberman](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/jtimberman/32/8_2.png) [@jtimberman](https://discourse.chef.io/u/jtimberman)\
**Post date:** [June 26, 2015, 5:32am UTC](https://discourse.chef.io/t/introducing-chef-ingredient/6702/1 "2015-06-26T05:32:01Z")

</div>

Ohai, Chefs!

I’d like to introduce a new cookbook for managing Chef’s products (Chef  
Server, Analytics, etc), chef-ingredient. You may be familiar with the  
chef-server-ingredient cookbook, and wonder why we have yet another  
cookbook for this.

We feel it should be easy to manage our products. We also feel that users  
shouldn’t need to know as many underlying details when we can create  
reasonable, simple abstractions. The chef-ingredient cookbook has three  
resources to facilitate this:

- chef\_ingredient: manages a Chef product installation, and can populate  
its configuration. For example `chef-server` and  
`/etc/opscode/chef-server.rb`.
- omnibus\_service: manages a sub-service in an omnibus server product. For  
example, `chef-server/rabbitmq`.
- ingredient\_config: manages the configuration file for the specified  
product using the config from the corresponding `chef-ingredient`.

The cookbook itself is shared on Supermarket and GitHub. The [README.md](http://README.md)  
describes the resources in more detail.

- [https://supermarket.chef.io/cookbooks/chef-ingredient](https://supermarket.chef.io/cookbooks/chef-ingredient)
- [https://github.com/chef-cookbooks/chef-ingredient](https://github.com/chef-cookbooks/chef-ingredient)

For examples of use, see the test cookbook in the repository. Along with  
this cookbook, we have added two additional cookbooks for managing the apt  
or yum repositories for the Chef products. These leverage the  
apt\_repository and yum\_repository resources using attribute-driven recipes,  
so users can implement alternate repositories (such as internal).

- [https://supermarket.chef.io/cookbooks/apt-chef](https://supermarket.chef.io/cookbooks/apt-chef)
- [https://supermarket.chef.io/cookbooks/yum-chef](https://supermarket.chef.io/cookbooks/yum-chef)

All three of these cookbooks are intended to be very well tested, and serve  
as examples, too.

We’re working to update the chef-server and chef-server-cluster cookbooks  
to use chef-ingredient soon - in the next week or so.

Cheers,  
Joshua

---

<div class="post-metadata">

**Author:** ![Thomas\_Fee](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/thomas_fee/32/31_2.png) [@Thomas\_Fee](https://discourse.chef.io/u/Thomas_Fee)\
**Post date:** [June 26, 2015, 1:21pm UTC](https://discourse.chef.io/t/introducing-chef-ingredient/6702/2 "2015-06-26T13:21:36Z")

</div>

Is this designed to be run from Chef Zero the first time if I wanted to  
bring up a Chef Server the first time?

On Thu, Jun 25, 2015 at 11:32 PM, Joshua Timberman [joshua@chef.io](mailto:joshua@chef.io) wrote:

> Ohai, Chefs!
> 
> I'd like to introduce a new cookbook for managing Chef's products (Chef  
> Server, Analytics, etc), chef-ingredient. You may be familiar with the  
> chef-server-ingredient cookbook, and wonder why we have yet another  
> cookbook for this.
> 
> We feel it should be easy to manage our products. We also feel that users  
> shouldn't need to know as many underlying details when we can create  
> reasonable, simple abstractions. The chef-ingredient cookbook has three  
> resources to facilitate this:
> 
> - chef\_ingredient: manages a Chef product installation, and can populate  
> its configuration. For example `chef-server` and  
> `/etc/opscode/chef-server.rb`.
> - omnibus\_service: manages a sub-service in an omnibus server product. For  
> example, `chef-server/rabbitmq`.
> - ingredient\_config: manages the configuration file for the specified  
> product using the config from the corresponding `chef-ingredient`.
> 
> The cookbook itself is shared on Supermarket and GitHub. The README.md  
> describes the resources in more detail.
> 
> - [https://supermarket.chef.io/cookbooks/chef-ingredient](https://supermarket.chef.io/cookbooks/chef-ingredient)
> - [GitHub - chef-cookbooks/chef-ingredient: Primitives for managing Chef products and packages](https://github.com/chef-cookbooks/chef-ingredient)
> 
> For examples of use, see the test cookbook in the repository. Along with  
> this cookbook, we have added two additional cookbooks for managing the apt  
> or yum repositories for the Chef products. These leverage the  
> apt\_repository and yum\_repository resources using attribute-driven recipes,  
> so users can implement alternate repositories (such as internal).
> 
> - [https://supermarket.chef.io/cookbooks/apt-chef](https://supermarket.chef.io/cookbooks/apt-chef)
> - [https://supermarket.chef.io/cookbooks/yum-chef](https://supermarket.chef.io/cookbooks/yum-chef)
> 
> All three of these cookbooks are intended to be very well tested, and  
> serve as examples, too.
> 
> We're working to update the chef-server and chef-server-cluster cookbooks  
> to use chef-ingredient soon - in the next week or so.
> 
> Cheers,  
> Joshua

---

<div class="post-metadata">

**Author:** ![jtimberman](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/jtimberman/32/8_2.png) [@jtimberman](https://discourse.chef.io/u/jtimberman)\
**Post date:** [June 27, 2015, 4:40am UTC](https://discourse.chef.io/t/introducing-chef-ingredient/6702/3 "2015-06-27T04:40:16Z")

</div>

Sure. You can use it with Chef Zero for sure - that's what the test kitchen  
tests do in the chef-server cookbook.

[https://github.com/chef-cookbooks/chef-server/blob/master/.kitchen.yml#L8](https://github.com/chef-cookbooks/chef-server/blob/master/.kitchen.yml#L8)

You can also use the cookbook from another Chef Server. For example I used  
Hosted Chef with my ChefConf demo when this was the  
"chef-server-ingredient" cookbook.

On Fri, Jun 26, 2015 at 7:21 AM, Thomas Fee [gasbeing@gmail.com](mailto:gasbeing@gmail.com) wrote:

> Is this designed to be run from Chef Zero the first time if I wanted to  
> bring up a Chef Server the first time?
> 
> On Thu, Jun 25, 2015 at 11:32 PM, Joshua Timberman [joshua@chef.io](mailto:joshua@chef.io) wrote:
> 
> > Ohai, Chefs!
> > 
> > I'd like to introduce a new cookbook for managing Chef's products (Chef  
> > Server, Analytics, etc), chef-ingredient. You may be familiar with the  
> > chef-server-ingredient cookbook, and wonder why we have yet another  
> > cookbook for this.
> > 
> > We feel it should be easy to manage our products. We also feel that users  
> > shouldn't need to know as many underlying details when we can create  
> > reasonable, simple abstractions. The chef-ingredient cookbook has three  
> > resources to facilitate this:
> > 
> > - chef\_ingredient: manages a Chef product installation, and can populate  
> > its configuration. For example `chef-server` and  
> > `/etc/opscode/chef-server.rb`.
> > - omnibus\_service: manages a sub-service in an omnibus server product.  
> > For example, `chef-server/rabbitmq`.
> > - ingredient\_config: manages the configuration file for the specified  
> > product using the config from the corresponding `chef-ingredient`.
> > 
> > The cookbook itself is shared on Supermarket and GitHub. The README.md  
> > describes the resources in more detail.
> > 
> > - [chef-ingredient versions](https://supermarket.chef.io/cookbooks/chef-ingredient)
> > - [GitHub - chef-cookbooks/chef-ingredient: Primitives for managing Chef products and packages](https://github.com/chef-cookbooks/chef-ingredient)
> > 
> > For examples of use, see the test cookbook in the repository. Along with  
> > this cookbook, we have added two additional cookbooks for managing the apt  
> > or yum repositories for the Chef products. These leverage the  
> > apt\_repository and yum\_repository resources using attribute-driven recipes,  
> > so users can implement alternate repositories (such as internal).
> > 
> > - [https://supermarket.chef.io/cookbooks/apt-chef](https://supermarket.chef.io/cookbooks/apt-chef)
> > - [https://supermarket.chef.io/cookbooks/yum-chef](https://supermarket.chef.io/cookbooks/yum-chef)
> > 
> > All three of these cookbooks are intended to be very well tested, and  
> > serve as examples, too.
> > 
> > We're working to update the chef-server and chef-server-cluster cookbooks  
> > to use chef-ingredient soon - in the next week or so.
> > 
> > Cheers,  
> > Joshua
