_______ _______ ______ _______ _______ _______
| _ || || | | || || _ |
| |_| || _ || _ || ___|| ___|| |_| |
| || | | || | | || |___ | | __ | |
| _ | | |_| || |_| || ___|| || || |
| |_| || || || |___ | |_| || _ |
|_______||_______||______| |_______||_______||__| |__|
For when you don't need a whole Supermarket...
Bodega is intended to be a light proxy in front of Chef Server, offering a
Berkshelf /universe
endpoint and proxied cookbook downloads.
If you just want to be able to resolve your internal cookbooks without providing Chef Server credentials to everyone, but standing up a full Supermarket instance is more than you need, Bodega may be for you.
go get github.com/ewr/bodega
bodega --help
Command flags:
- baseURL: Base to use in our download URLs. Could be "http://localhost:8080" if you're just playing around locally, or some different host/port for network use.
- chef.server: Chef server URL, including organization path if necessary.
- chef.client: Chef client name
- chef.pem: Path to PEM file for Chef client
- chef.interval: Interval at which to poll for new cookbooks
- listen: Listening address (":8080" by default)
- skip-ssl: Skip SSL validation for Chef Server? (defaults to true)
Everything. This is a barely-working proof-of-concept, but I think it serves a legit need. It will serve up your cookbooks securely (in terms of not giving others access to Chef Server), but you shouldn't expose it to untrusted users.
- Tests!
- Concurrent fetches for cookbook version info?
- Cache cookbook tarballs?
This tool was renamed Bodega after a naming collision with Minimart, another tool that attempts to solve the Supermarket-lite use case. Minimart creates a static representation of the cookbook tree, so it may better support uses with lots of download traffic.
Bodega was written by Eric Richardson, to scratch an itch felt at Southern California Public Radio.