Storing bootstrap templates in the chef server


#1

We’ve recently had to do some customization of our ubuntu, centos and windows bootstrap templates. While one of my coworkers was working on one he asked me, “So how do I upload this to the chef server?”

Does anyone else think it makes sense to store bootstrap templates in a chef server? Are there any disadvantages I’m not thinking of?

~j


#2

On Wednesday, September 11, 2013 at 10:05 PM, Joseph Holsten wrote:

We’ve recently had to do some customization of our ubuntu, centos and windows bootstrap templates. While one of my coworkers was working on one he asked me, “So how do I upload this to the chef server?”

Does anyone else think it makes sense to store bootstrap templates in a chef server? Are there any disadvantages I’m not thinking of?
I think you really want version control and all of the features it provides (history, diffs, etc.) for this sort of thing. So if you’re already sharing it via version control, what’s the benefit of distributing it by a different mechanism as well?


~j


Daniel DeLeo


#3

You do want version control, but the same is true of cookbooks as well. I
think there’s good value in making the templates available on the chef
server. In an environment with many engineers, making sure everyone is
using the latest template is a hassle. Recently we changed our template and
we still get requests asking why they can’t bootstrap. “Did you read that
email we broadcasted to engineering@?” “Um… maybe” “Go update your
template”

If templates where stored on the server, versioned properly like cookbooks,
Operations or whoever can own the template and put out regular releases
that people would be able to use without any overhead of downloading the
latest version and putting it in ~/.chef/bootstrap.

+1 for storing templates on the chef server, provided they’re versioned
like cookbooks.

On Thu, Sep 12, 2013 at 8:10 AM, Daniel DeLeo dan@kallistec.com wrote:

On Wednesday, September 11, 2013 at 10:05 PM, Joseph Holsten wrote:

We’ve recently had to do some customization of our ubuntu, centos and
windows bootstrap templates. While one of my coworkers was working on one
he asked me, “So how do I upload this to the chef server?”

Does anyone else think it makes sense to store bootstrap templates in a
chef server? Are there any disadvantages I’m not thinking of?

I think you really want version control and all of the features it
provides (history, diffs, etc.) for this sort of thing. So if you’re
already sharing it via version control, what’s the benefit of distributing
it by a different mechanism as well?


~j


Daniel DeLeo


#4

Another approach would be to create a knife plugin that tests to see if
.chef is a git repo, and then pull that repo before each knife command.

On Thu, Sep 12, 2013 at 10:16 AM, Josiah Kiehl bluepojo@gmail.com wrote:

You do want version control, but the same is true of cookbooks as well. I
think there’s good value in making the templates available on the chef
server. In an environment with many engineers, making sure everyone is
using the latest template is a hassle. Recently we changed our template and
we still get requests asking why they can’t bootstrap. “Did you read that
email we broadcasted to engineering@?” “Um… maybe” “Go update your
template”

If templates where stored on the server, versioned properly like
cookbooks, Operations or whoever can own the template and put out regular
releases that people would be able to use without any overhead of
downloading the latest version and putting it in ~/.chef/bootstrap.

+1 for storing templates on the chef server, provided they’re versioned
like cookbooks.

On Thu, Sep 12, 2013 at 8:10 AM, Daniel DeLeo dan@kallistec.com wrote:

On Wednesday, September 11, 2013 at 10:05 PM, Joseph Holsten wrote:

We’ve recently had to do some customization of our ubuntu, centos and
windows bootstrap templates. While one of my coworkers was working on one
he asked me, “So how do I upload this to the chef server?”

Does anyone else think it makes sense to store bootstrap templates in a
chef server? Are there any disadvantages I’m not thinking of?

I think you really want version control and all of the features it
provides (history, diffs, etc.) for this sort of thing. So if you’re
already sharing it via version control, what’s the benefit of distributing
it by a different mechanism as well?


~j


Daniel DeLeo


#5

On 2013-09-12, at 15:10, Daniel DeLeo dan@kallistec.com wrote:

On Wednesday, September 11, 2013 at 10:05 PM, Joseph Holsten wrote:

We’ve recently had to do some customization of our ubuntu, centos and windows bootstrap templates. While one of my coworkers was working on one he asked me, “So how do I upload this to the chef server?”

Does anyone else think it makes sense to store bootstrap templates in a chef server? Are there any disadvantages I’m not thinking of?
I think you really want version control and all of the features it provides (history, diffs, etc.) for this sort of thing. So if you’re already sharing it via version control, what’s the benefit of distributing it by a different mechanism as well?

Well I’d really like to be able to provision boxes from a command-and-control server (rundeck or something). It’s annoying to have it pull a git repo just so it can have up-to-date bootstrap templates.

~j


#6

On Monday, September 16, 2013 at 1:12 PM, Joseph Holsten wrote:

On 2013-09-12, at 15:10, Daniel DeLeo <dan@kallistec.com (mailto:dan@kallistec.com)> wrote:

On Wednesday, September 11, 2013 at 10:05 PM, Joseph Holsten wrote:

We’ve recently had to do some customization of our ubuntu, centos and windows bootstrap templates. While one of my coworkers was working on one he asked me, “So how do I upload this to the chef server?”

Does anyone else think it makes sense to store bootstrap templates in a chef server? Are there any disadvantages I’m not thinking of?
I think you really want version control and all of the features it provides (history, diffs, etc.) for this sort of thing. So if you’re already sharing it via version control, what’s the benefit of distributing it by a different mechanism as well?

Well I’d really like to be able to provision boxes from a command-and-control server (rundeck or something). It’s annoying to have it pull a git repo just so it can have up-to-date bootstrap templates.

~j

could you set up a Ci job for this?


Daniel DeLeo


#7

That reminds me of gitfs in salt stack:
http://docs.saltstack.com/topics/tutorials/gitfs.html

On 2013-09-12, at 17:16, Josiah Kiehl bluepojo@gmail.com wrote:

You do want version control, but the same is true of cookbooks as well. I think there’s good value in making the templates available on the chef server. In an environment with many engineers, making sure everyone is using the latest template is a hassle. Recently we changed our template and we still get requests asking why they can’t bootstrap. “Did you read that email we broadcasted to engineering@?” “Um… maybe” “Go update your template”

If templates where stored on the server, versioned properly like cookbooks, Operations or whoever can own the template and put out regular releases that people would be able to use without any overhead of downloading the latest version and putting it in ~/.chef/bootstrap.

+1 for storing templates on the chef server, provided they’re versioned like cookbooks.

On Thu, Sep 12, 2013 at 8:10 AM, Daniel DeLeo dan@kallistec.com wrote:

On Wednesday, September 11, 2013 at 10:05 PM, Joseph Holsten wrote:

We’ve recently had to do some customization of our ubuntu, centos and windows bootstrap templates. While one of my coworkers was working on one he asked me, “So how do I upload this to the chef server?”

Does anyone else think it makes sense to store bootstrap templates in a chef server? Are there any disadvantages I’m not thinking of?
I think you really want version control and all of the features it provides (history, diffs, etc.) for this sort of thing. So if you’re already sharing it via version control, what’s the benefit of distributing it by a different mechanism as well?


~j


Daniel DeLeo