Re: source repositories as resources?


#1

Ian,
I’m just sitting down to address this same issue – I need an interface
generic enough for both git, subversion, and maybe even a tarball on s3.
Ezra’s chef-deploy is really great but a bit overkill for me. I just want a
simple “pull” functionality. I don’t need all the capistrano stuff.

This is what I am thinking for a resource:

repo “some_src_url” do
branch "master"
dest "where_to_place_it"
user "some_user"
cred "password_or_sshkey"
end

Would this be of use to you? Do you think that this interface is complete
enough to deal will all three (git,svn,s3) use cases?

-Cary P

On Jul 1, 2009, at 10:23 AM, Arjuna Christensen wrote:

On 1/07/2009, at 10:18 AM, ian.ragsdale@gmail.com wrote:

Hello all. One of the things that I’d like chef to be able to do is check
out
a certain version of our source to be installed. This makes more sense to
me
than using something like Capistrano to maintain the correct version of the
source.

I’m sure that I could use a script to do this, but it seems like it would
make
more sense to have Chef treat a source repository as a resource, which could
have providers for git, subversion, etc. Then you could easily set a
repository URL, authentication info, and revision numbers or branches, etc.

Is anybody else using chef to manage a source repository? How are other
people
handling this?

Ezra from EngineYard did great work with Chef-Deploy, a Capistrano
replacement driven by Chef. It is used throughout EY’s Solo and Flex
platforms, supports awesome push-based-hooking and other magic.

Hope this helps! :slight_smile:


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


#2

Yeah, that’s exactly what I’m talking about. I think that could work
really well. Chef-deploy does look pretty interesting, but I think it
might be overkill for my needs as well.

  • Ian

On Jul 1, 2009, at 1:47 PM, Cary Penniman wrote:

Ian,

I’m just sitting down to address this same issue – I need an
interface generic enough for both git, subversion, and maybe even a
tarball on s3.

Ezra’s chef-deploy is really great but a bit overkill for me. I
just want a simple “pull” functionality. I don’t need all the
capistrano stuff.

This is what I am thinking for a resource:

repo “some_src_url” do
branch "master"
dest "where_to_place_it"
user "some_user"
cred "password_or_sshkey"
end

Would this be of use to you? Do you think that this interface is
complete enough to deal will all three (git,svn,s3) use cases?

-Cary P

On Jul 1, 2009, at 10:23 AM, Arjuna Christensen wrote:

On 1/07/2009, at 10:18 AM, ian.ragsdale@gmail.com wrote:

Hello all. One of the things that I’d like chef to be able to do
is check out
a certain version of our source to be installed. This makes more
sense to me
than using something like Capistrano to maintain the correct
version of the
source.

I’m sure that I could use a script to do this, but it seems like it
would make
more sense to have Chef treat a source repository as a resource,
which could
have providers for git, subversion, etc. Then you could easily set a
repository URL, authentication info, and revision numbers or
branches, etc.

Is anybody else using chef to manage a source repository? How are
other people
handling this?

Ezra from EngineYard did great work with Chef-Deploy, a Capistrano
replacement driven by Chef. It is used throughout EY’s Solo and Flex
platforms, supports awesome push-based-hooking and other magic.

http://github.com/ezmobius/chef-deploy/tree/master

Hope this helps! :slight_smile:


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


#3

Cool - yeah, starting with a base repo resource, and then doing the
same sort of thing we do for the various package providers is the
right path:

repo “foo” do
provider Chef::Provider::Repo::SVN
end

While also exposing

svn_repo “foo” do
end

Etc.

Adam

On Wed, Jul 1, 2009 at 11:47 AM, Cary Pennimancary@rightscale.com wrote:

Ian,
I’m just sitting down to address this same issue – I need an interface
generic enough for both git, subversion, and maybe even a tarball on s3.
Ezra’s chef-deploy is really great but a bit overkill for me. I just want a
simple “pull” functionality. I don’t need all the capistrano stuff.
This is what I am thinking for a resource:
repo “some_src_url” do
branch "master"
dest "where_to_place_it"
user "some_user"
cred "password_or_sshkey"
end
Would this be of use to you? Do you think that this interface is complete
enough to deal will all three (git,svn,s3) use cases?

-Cary P

On Jul 1, 2009, at 10:23 AM, Arjuna Christensen wrote:

On 1/07/2009, at 10:18 AM, ian.ragsdale@gmail.com wrote:

Hello all. One of the things that I’d like chef to be able to do is check
out
a certain version of our source to be installed. This makes more sense to
me
than using something like Capistrano to maintain the correct version of the
source.

I’m sure that I could use a script to do this, but it seems like it would
make
more sense to have Chef treat a source repository as a resource, which could
have providers for git, subversion, etc. Then you could easily set a
repository URL, authentication info, and revision numbers or branches, etc.

Is anybody else using chef to manage a source repository? How are other
people
handling this?

Ezra from EngineYard did great work with Chef-Deploy, a Capistrano
replacement driven by Chef. It is used throughout EY’s Solo and Flex
platforms, supports awesome push-based-hooking and other magic.
http://github.com/ezmobius/chef-deploy/tree/master
Hope this helps! :slight_smile:

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


Opscode, Inc.
Adam Jacob, CTO
T: (206) 508-4759 E: adam@opscode.com