Chef is an open source systems integration framework built to bring the benefits of configuration management to your entire infrastructure. You write source code to describe how you want each part of your infrastructure to be built, then apply those descriptions to your servers. The result is a ...

learn more… | top users | synonyms

54
votes
6answers
15k views

Why use Chef/Puppet over shell scripts?

New to Puppet and Chef tools. Seems like the job that they are doing can be done with shell scripting. Maybe it was done in shell scripts until these came along. I would agree they are more readable. ...
51
votes
6answers
14k views

Puppet vs Chef, pro and contra from users and use cases [closed]

I already googled and read the "to-puppet-or-to-chef-that-is-the-question" article. I'm interested in use cases, real world implementations in which people had choosen one or the other on real ...
38
votes
1answer
13k views

Chef best Practices/Questions

I use and love Puppet. I moved to a new company and they are adopting Chef. So I'm trying to learn Chef but am having a hard time piecing it all together because I still think in Puppet =) These ...
35
votes
0answers
5k views

What advantages/features does Puppet or Chef offer over Salt (or vice versa)? [closed]

I am looking at rolling out a new configuration management tool to replace our home-grown solution. The defacto standards are Chef and Puppet, both of which are Ruby-centric (though can be used to ...
27
votes
9answers
11k views

Are configuration management tools (Puppet, Chef) capable of keeping installed packages up to date?

This is probably a simple question for those of you already running configuration management tools. Are configuration management tools such as Puppet or Chef the right approach for keeping installed ...
26
votes
2answers
7k views

Relationship between Vagrant, Docker, Chef and OpenStack (or similar products)?

I am a web developer, but I am also interested in a few administrative tasks. Hence, the new move from pure administration to dev-ops comes handy for me. Anyway, I have some problems to put a few ...
23
votes
3answers
7k views

What are the benefits of running chef-server instead of chef-solo?

I am looking at automated deployment solutions for my team and have been playing with Chef for the past few days. I've been able to get a simple web app up an running from a base Red Hat VM using ...
21
votes
7answers
11k views

Do chef and puppet cost money?

I intend to use chef or puppet to do administration (I'm thinking more of chef as it's younger and I get a better feeling about it). In both home pages I saw there is an "enterprise edition" that ...
17
votes
5answers
950 views

When is it appropriate to use a configuration manager (eg Puppet / Chef / Ansible)?

At my current workplace, I look after two VMware host machines, an OpenBSD physical machine, three Debian VM's, and six Windows Server VM's (2008/2012). I'm considering implementing a configuration ...
17
votes
4answers
6k views

Best practice for testing chef recipes?

My team has created a large number of chef cookbooks. I was wondering what methods and frameworks I should look into so we can start creating tests to assure that our nodes are configured properly?
16
votes
7answers
2k views

What are the right questions to ask when deciding whether to use Chef or Puppet?

I am about to start a new project which will, in part, require deploying many identical nodes of approximately three different classes: Data nodes, which will run sharded instances of MongoDB. ...
16
votes
1answer
10k views

How to find the Chef environment in a recipe?

I want to run a cookbook_file resource only if the current environment is "dev". How can this be expressed? The documentation suggests this: In a recipe, a code block like this would be useful: ...
15
votes
2answers
7k views

How do I get started with Chef?

The chef documentation is pretty bad. And Google isn't helping me. Can anyone point me at a decent article or something that would help me get started? My specific issues are: How do I get a ...
15
votes
5answers
4k views

What's the strengths and weaknesses of existing configuration management systems? [closed]

I was looking up here for some comparisons between CFEngine, Puppet, Chef, bcfg2, AutomateIt and whatever other configuration management systems might be out there, and was very surprised I could find ...
14
votes
2answers
11k views

Is there a more elegant way to remotely run chef-client?

This is the way recommended in the Chef Fast Start tutorial: knife ssh name:mynode -a ipaddress -x ubuntu -i mycredentials.pem "sudo chef-client" This is really clumsy. Is there really not a ...
13
votes
4answers
3k views

Manage chef cookbooks in a team environment

I'm learning chef and having problems structuring everything to work with my team. For starters, it seems that you should create a chef-repo folder, where you will store and modify the cookbooks used ...
13
votes
2answers
4k views

Configuration management: push versus pull based topology

The more established configuration management (CM) systems like Puppet and Chef use a pull-based approach: clients poll a centralized master periodically for updates. Some of them offer a masterless ...
13
votes
7answers
15k views

How to set ulimits for a service starting at boot?

I need, for mysql to use large-pages, to set a ulimit - I've done this in limits.conf. However, limits.conf (pam_limits.so), doesn't get read in for init, only for "real" shells. I solved this before ...
11
votes
4answers
6k views

Knife SSH doesn't find my nodes

knife ssh isn't finding my nodes. I know it should be able to because when I can search for them I find them # knife search node name:* 2 items found Node Name: web_01 ... Node Name: admin ... ...
11
votes
1answer
4k views

In chef, how do I access attributes within role files?

I'm able to set attributes in role files as documented but I'm not able to access attributes already set by cookbooks that I'm using. For example within /roles/appserver.rb: name "appserver" ...
10
votes
2answers
764 views

Configuration Management overkill for 3 node clusters?

I have 2-3 node clusters for our load balancers and various web applications. I'm having to make the change in QA first, then in staging (on 2-3 servers), then in production (on 2-3) servers. Is a ...
9
votes
2answers
479 views

Why use chef-solo on a single instance?

I understand the advantages of using Chef and puppet in a multiserver environment. Its fantastic for enforcing and describing configuration across many servers. But lets say you have a single server, ...
8
votes
2answers
4k views

How do I provide dpkg configuration parameters to aptitude or apt-get?

When installing gitolite I find that: # aptitude install gitolite The following NEW packages will be installed: gitolite 0 packages upgraded, 1 newly installed, 0 to remove and 29 not upgraded. ...
8
votes
2answers
5k views

Chef: create a directory for a template if it doesn't already exist

If I have a template being created, how can I ensure that the directory exists? For instance: template "#{node[:app][:deploy_to]}/#{node[:app][:name]}/shared/config/database.yml" do source ...
8
votes
3answers
1k views

Chef: encrypted data bags, protecting the encryption key

When you are using the encrypted data bag feature for Chef how do you go about deploying the key to many servers? If you put it into a recipe anyone who has access to any of the chef servers or ...
8
votes
2answers
3k views

Simple Windows+Linux server provisioning? Chef/Puppet/Ansible etc [closed]

I'm primarily a developer, part time devops; and manage servers here and there for my projects. I want to automate provisioning of web/app/database servers going forward for my projects I manage a ...
7
votes
3answers
3k views

How can I download Maven artifacts in chef?

I want to do something like this in a chef recipe: maven_artifact "/opt/foo/my.jar" do source "com.foo:my:0.1:jar" end But I can't find a cookbook which provides this. I've written something ...
7
votes
1answer
2k views

Chef Server vs Chef Solo [duplicate]

I'm putting together a structure to run a Rails application. The application itself runs on Heroku. However, it makes requests to a cluster, which performs the call through a program in C. To be able ...
7
votes
2answers
3k views

Idiomatic way to invoke chef-solo?

What is the idiomatic way to invoke chef-solo? Most sites do this: chef-solo -c ~/solo.rb -j ~/node.json -r http://www.example.com/chef-solo.tar.gz But that's long. There are a few shorter ways ...
7
votes
3answers
3k views

Chef bash resource not executing as specified user

I'm writing a Chef cookbook to install Hubot. In the recipe, I do the following: bash "install hubot" do user hubot_user group hubot_group cwd install_dir code <<-EOH wget ...
7
votes
2answers
3k views

Best strategy to keep chef cookbooks versions under control

I'm looking for ideas about chef cookbooks versions management. I know that you pin specific versions in the environment, but I'm not sure how to go about it. We use librarian-chef which installs 3rd ...
6
votes
8answers
2k views

any way to use puppet or chef without launching daemons?

Is there any way to use puppet or chef recipes without launching daemons and such? I'd like to be able to interpret files and apply them without all of the heavy lifting. If not, is there an ...
6
votes
5answers
2k views

Bare minimal Chef provisioning and deployment?

I've read the documentation on Chef twice over. I still can't wrap my head around it's concept because they skip but fundamentals and jump to complex deployments with chef-server. Using chef-solo and ...
6
votes
1answer
279 views

What are compelling use cases for having both Chef/Puppet and RightScale/Scalr?

I was wondering about the differences between cloud computing management tools and server configuration software as there seems to be an overlap between them. I would like to have some feedback from ...
6
votes
4answers
6k views

Why does chef list my node name as “localhost”?

I installed chef-client on a Linux node, and it seems to have successfully connected to my chef server. However, when I do: chef node list, it appears as "localhost". Why doesn't chef pick up the ...
6
votes
1answer
1k views

Permission denied when opening file as root with mode 777

I'm attempting to install and run syslog-ng but I'm blocked with the following error. Error opening configuration file; filename='/etc/syslog-ng/syslog-ng.conf', error='Permission denied (13)' I'm ...
6
votes
1answer
472 views

Should I use this simple hack for working around chef-solo's lack of environment support?

Chef-solo’s lack of environment support seems to be pretty controversial. On one hand, one of the features of environments is the ability to pin cookbooks to specific environments, and this makes ...
5
votes
2answers
7k views

Chef: connection refused for cookbook upload

Be gentle, I'm new to chef, trying to get my environment set up and have some new recipes to upload to my new chef server. I'm able to do some commands, and I was able to knife bootstrap the new node, ...
5
votes
3answers
5k views

Using vagrant and chef to setup a Windows VM in Ubuntu

I'm running Ubuntu and I want to setup a VM in Virtualbox via Vagrant and Chef. I think what I'm missing is a .box for the Windows Server 2008 R2 x64 trial I have. Does anyone know where I could ...
5
votes
1answer
7k views

Chef - Howto compute attributes from node specific values?

Let say I have a cookbook which configures and installs a magical deamon: magical-deamon/recipes/default.rb: template "/etc/magical-deamon/magical.conf" do source "magical.conf" mode 0644 ...
5
votes
2answers
2k views

Chef recipe order of execution redux

Given the following recipe: ruby_block "block1" do block do puts "in block1" end action :create end remote_file "/tmp/foo" do puts "in remote_file" source ...
5
votes
1answer
4k views

What are the pros and cons of AWS Elastic Beanstalk compared with other deployment strategies?

I'm pretty new to the whole Netflix OSS stack and deployments in general. As a background for my current level of knowledge ops-wise, my main role is as a front-end application engineer. However, I ...
5
votes
3answers
5k views

Chef bootstrap giving 401 unauthorized

I'm trying to bootstrap a new chef node by running: knife bootstrap <server ip> -x lewis -N gitlab --sudo But I get the following output: [Mon, 03 Sep 2012 14:45:17 +0000] INFO: *** Chef 10.12.0 ...
5
votes
1answer
127 views

Looking for a Backup/Recreate Solution

I have 2 crucial servers that are running an unsupported & ancient version of Linux, and there's currently no disaster plan for them. I want to set up a backup system for them, and be able to ...
5
votes
3answers
3k views

Deploy an AWS Auto Scaling groups using Chef Server

You can, for example, to deploy an an Auto Scaling groups consists of web severs, ELB and DB using AWS CloudFormation (with Chef server): ...
5
votes
1answer
770 views

no default value for required attribute

What is the recommended approach for using an attribute in a resource, like a template, when there is no reasonable default for that attribute. The attribute value is expected to be provided at ...
5
votes
2answers
3k views

Chef recipe read attributes from another node

I'm writing a very simple chef cookbook to manage the deployment of a web app, and I have a chef managed node for the database server, and would like to bring in the IP address (and a few other ...
5
votes
1answer
68 views

Can you use configuration management (Puppet/Chef) behind a firewall?

I'm tasked with designing and implementing configuration management (Chef) for a infrastructure where the production servers are completely segmented and isolated behind a jump box. ...
5
votes
3answers
3k views

bootstrap (add node) localhost in chef

Problem. Following command line knife bootstrap 127.0.0.1 -r 'recipe[chef-client]' -x user -p password --sudo returns Bootstrapping Chef on 127.0.0.1 WARNING: Failed to connect to 127.0.0.1 -- ...
5
votes
3answers
292 views

What configuration management solutions exist in a non-networked environment?

My servers exist in an environment without outside network connectivity (this is a requirement), so when I deploy updates all packages, binaries, config files, etc. must be included on the delivered ...