On Sep 28, 2009, at 1:16 AM, sam wrote: > On Sep 28, 3:02 pm, Luke Kanies <[email protected]> wrote: >> On Sep 27, 2009, at 5:41 PM, sam wrote: >> >> >> >>> Hello, >>> I am thinking of wiring filebucket to save to a git repo. >>> It would allow diffs and history, is that something worthwhile for >>> inclusion ? >> >> I think it's a great idea. In fact, I've written a prototype of it: >> >> http://gist.github.com/77811 >> >> It's just a thin executable, without the Puppet integration, and it's >> all execs rather than library calls. It also doesn't do any of the >> history, which you'd obviously want -- it's just the blobs, with no >> branches or anything. >> >> I'd love to have this supported. How were you thinking of doing it? >> > > the filebucket would store the replaced files in a git repo on the > local host, using rubygem-git and commit at the end of a puppet run, a > file would be placed into $GITROOT/$FULLPATH of original file. no > symlinks. > filebucket { main: path => git://$gitpath } > > A centralized git server I suppose is nice, keep a branch per server > (all lost on server renames). Would the best way be keep a git clone - > l per server, then pull, add the file, then push back to the branch ? > sounds like a bottle neck. if there is interest I would prefer to keep > it as a stage 2. > > The history/diffs would be something a person would run on the git > repo themselves, I don't have good ideas of integrating that part into > puppet or it's usability. it's so much easier to use git to find the > rev you want and you would need to add the file back to puppetmaster > manually as the restored file would have been a puppet template or a > file resource (tidy aside) > > did you expect more or have a more thought out idea?
This is pretty much what I was planning. I think the server-side sync is pretty useful, but the single-host git-based filebucket is definitely the main win. I was hoping to do it all with direct commands to manipulate the git repo, rather than having a checkout, but I think the simple version is a good start. The only other thing I might recommend is tagging the repo every time there's a change, so you can correlate the stored files with a given version of the catalog. -- Whenever I hear anyone arguing for slavery, I feel a strong impulse to see it tried on him personally. -- Abraham Lincoln --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
