[chef] Re: Re: Re: Re: Re: source repositories as resources?


Chronological Thread 
  • From: Arjuna Christensen <aj@opscode.com>
  • To: chef@lists.opscode.com
  • Subject: [chef] Re: Re: Re: Re: Re: source repositories as resources?
  • Date: Wed, 1 Jul 2009 16:51:24 -0700

On 1/07/2009, at 4:35 PM, Ian Ragsdale wrote:


On Jul 1, 2009, at 6:28 PM, Adam Jacob wrote:

On Wed, Jul 1, 2009 at 4:23 PM, Ian Ragsdale<ian.ragsdale@gmail.com> wrote:
Ok, it sounds like this would be useful to at least a few people, perhaps
even to the chef-deploy project, as it might allow them to simplify their
code.  Since I probably need it myself, I'm probably gonna end up writing it
soon.  Before I do, I have two questions for the opscode guys.

1) Would you consider this for inclusion in Chef?  I'd be happy to donate it
and would love to not have to maintain and install it separately.

Absolutely.  File a ticket for the new feature, and then publish it up
to Github.

Excellent.  I'll probably begin work on this tomorrow.

Before starting anything, I notice we haven't got an individual CLA from you (and not sure if you are covered under any of our approved CCLA's).




2) If the answer to #1 is yes, would you prefer this be written using the
grit gem, or would you prefer to have it call git on the command line?  I
can see good arguments for both, so if you guys would want to include it
then I'd go with whatever you prefer.

I think it's fine to use the Grit gem - you can probably also include
some logic in the Git provider to auto-install the gem if you don't
have it already on first use of the provider.

Great - that probably makes for much cleaner code.  It looks like Grit also shells out to the command line for some actions as well - should I do the same for the git package?  Are there there other places in the code where this is done?

The package provider supports preseeding by making use of a remote_file resource to fetch the appropriate preseed file from the Chef Server, which is similar to what you'll want to be achieving here.


You'll wind up building:

1) The repo resource, which all the other resources will inherit from
2) Helper resources for the various providers, a-la gem_package, etc.
3) Providers for each VCS you want to support.

We'll be happy to help with any details of how to implement this.


That all makes plenty of sense - should I just mail this list if I have questions?

Absolutely, we're active on IRC, too: irc://irc.freenode.net/chef :)

-- 
AJ Christensen, Software Engineer
Opscode, Inc.
E: aj@opscode.com




Archive powered by MHonArc 2.6.16.

§