Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch from Berkshelf to "Messhall" #278

Open
temujin9 opened this issue Apr 30, 2013 · 0 comments
Open

Switch from Berkshelf to "Messhall" #278

temujin9 opened this issue Apr 30, 2013 · 0 comments

Comments

@temujin9
Copy link
Contributor

We need a better cookbook manager; Berkshelf is helpful, but ultimately too divorced from our work flow. There don't seem to be tool-sets that suit our needs better; time has come to write a custom one.

A Messfile replaces the Berksfile, with a much shorter format which allows wildcard matches within a repository:

cookbook :source => 'git@github.com:infochimps-labs/ironfan-pantry.git', :pattern => 'cookbooks/*'
cookbook :source => 'git@github.com:infochimps/ironfan-enterprise.git', :pattern => 'cookbooks/*'
cookbook :source => :local, :pattern => 'org_cookbooks/*'
cookbook 'runit', :source => 'git@github.com:opscode-cookbooks/runit.git'

Rake tasks establish the development environment, and synchronize them with the repositories they include. Each pantry is subtree squashed into vendor/[repo], which allows for commits to be subtree selected back to the pantry. Those cookbooks are symlinked into cookbooks/[name], providing a simple interface for knife cookbook upload. That folder is further symlinked to environments/development/cookbook, for later use with refactored environment code.

Expected tasks include :

  • rake ensure_messhall - establish or pull vendor folders, establish symlinks to and from cookbooks
  • rake sync_messhall - given commits against the vendor folders, subtree split them to their upstream pantries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant