Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the supermarket mailing list.

Select Badges

Select Supported Platforms


gitolite-server (1) Versions 1.0.1

Installs/Configures gitolite-server

cookbook 'gitolite-server', '~> 1.0.1'
cookbook 'gitolite-server', '~> 1.0.1', :supermarket
knife cookbook site install gitolite-server
knife cookbook site download gitolite-server


Installs and configures Gitolite Gitolite is autoconfigured from "users" data bag. Users should have "ssh_keys" attribute containing their public SSH keys, "gitolite_repos" attribute with name or list of names of repositories with read_write access, and "gitolit_repos_ro" with a name or a list of names of repositories with read-only access.


  • git
  • ssh_known_hosts
  • Users databag
  • Gitolite databag -> is created if it doesnt exist (Server client needs admin rights otherwise create the DB yourself) { "id" : "key", "key_pri":"asdjadlfkgjalgjkalgjh.....", "key_pub":"ssh-rsa asfadfgalgknagkl...." }
  • Deploy key
  • Git server node client is admin in chef ( if you dont want to create the gitolite DB)


Installs the Gitolite cookbook on a server that will become your git server. It will setup the gitolite admin repository in /srv/gitolite/repositories Everytime chef runs on the git server the cookbook will do the following:

  • Adds keys and repos if there is a new user added to an existing repository or it will create an new repository if it doesn't exist.
  • The Cookbook checks which repos to make or amend by using the users databag and checking the attributes gitolite_repos or gitolite_repos_ro and adding the users with RW+ permissions or R permissions
  • The cookbook assumes that you use a deploy-key to deploy your code from the repositories. It therefore adds the apache user(cause we use this to deploy code to a LAMP stack) to every repo with the public key it grabs from the gitolite databag. The private key can be copied to other servers and added to the apache user or it can be added to a custom cookbook that grabs the key from the gitolite databag.
  • It checks to see if there are users that can be added to the gitolite group which can also add to the admin repository.

Platform Tested on Ubuntu 12.04 LTS


This is an example of a user .json file.

{ "id":"admin", "ssh_keys":"ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAgEA..........." "password": "asdjhalkf....", "groups": [ "sysadmin","gitolite" ], "uid": 2001, "shell": "\/bin\/bash", "gitolite_repos": ["projectx","projecty","projectz"], "gitolite_repos_ro":["projecta","projectb","projectc"], "comment": "" }


The management of the gitolite databag needs to be made. The cookbook assumes an configures gitolite databag for the apache user key.

Dependent cookbooks

ssh_known_hosts >= 0.0.0
git >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

No quality metric results found