Installs and configures gitolite in a "multi-cuisine restaurant"
- git
- user databags with ssh public-keys
Expects node['gitolite']
to be an array of hashes containing the name of
the gitolite user to setup as well as the admin user of that account.
The name of the admin user will be used to lookup a databag item (in
'users') to read the users ssh_key
attribute for use in initializing
the gitolite admin. e.g.:
~> knife node show gitolite.rocketlabsdev.com
{
"normal": {
"gitolite": [
{
"name": "account1",
"admin": "dan"
},
{
"name": "account2",
"admin": "dan"
}
],
...
"run_list": [
"recipe[gitolite::default]"
],
"chef_type": "node"
}
~> knife data bag show users dan
{
"id": "dan",
"ssh_key": "..."
}
If a "campfire" attribute hash exists, a post-receive hook (based on https://github.com/yjerem/git-campfire-hook) will be installed.
~> knife node show partner-repo -Fj -a gitolite
{
"gitolite": [
{
"name": "account1",
"admin": "dan",
"campfire": {
"ssl": true,
"token": "6d96270004515a0486bb7f76196a72b40c55a47f",
"subdomain": "examplecampfire",
"room": "Example Room"
}
}
]
}