n98/gitosis-admin

Manage Tool for gitosis

Installs: 0

Dependents: 0

Stars: 8

Watchers: 1

Forks: 1

Language: CSS

1.0.0 2013-09-15 15:49 UTC

README

Manage gitosis over CLI- and Web-Interface.

https://secure.travis-ci.org/cmuench/n98-gitosis-admin.png https://www.versioneye.com/user/projects/514c647f9ee00e0002007ec9/badge.png https://poser.pugx.org/n98/gitosis-admin/v/stable.png

Installation

Download the composer.phar executable or use the installer.

$ curl -s http://getcomposer.org/installer | php

Install dependencies over composer.

$ php ./composer.phar install

Create config.yaml file from config.yaml.dist file.

Add path to your gitosis config (Cloned gitosis-admin repository):

locale: en
security:
  authentification:
    enabled: false

gitosis:
  root_directory: /path/to/gitosis-admin
  ssh_user: git
  ssh_host: myhost

CLI Interface

List Repositories
$ bin/n98-gitosis-admin repo:list
Add Repository
$ bin/n98-gitosis-admin repo:add name [owner] [description] [gitweb] [daemon]

Example:

$ bin/n98-gitosis-admin repo:add my-repo "John Doe" "My awesome git repository" no no
Remove Repository
$ bin/n98-gitosis-admin repo:remove name
List Groups
$ bin/n98-gitosis-admin group:list
Add Group
$ bin/n98-gitosis-admin group:add name members [writable] [readonly]

Example:

# Adds the repo "foo" with members "bar, zoz and bla" with write access to "repo1" and read access to "repo2"
$ bin/n98-gitosis-admin group:add foo bar,zoz,bla repo1 repo2
Remove Group
$ bin/n98-gitosis-admin group:remove name
Add User to existing Group
$  bin/n98-gitosis-admin group:user:add group username
Remove User from existing Group
$  bin/n98-gitosis-admin group:user:remove group username
Remove a user from all groups
$ bin/n98-gitosis-admin user:remove username
List all existing users

Lists all users across all groups.

$  bin/n98-gitosis-admin user:list
Allow group write acccess to repository
$ bin/n98-gitosis-admin group:repo:add:writable
Allow group readonly acccess to repository
$ bin/n98-gitosis-admin group:repo:add:readonly

Web Interface

  • Manage Repositories, Groups and Users

See Screenshots of the web interface on my flickr account:

http://www.flickr.com/photos/muench-worms/sets/72157631918064315/

http://farm9.staticflickr.com/8191/8150656716_76199ea7e5_z.jpg

Installation

  • Clone gitosis-admin repository on your local machine.
  • Make sure that webserver user has a valid ssh key which is assigned to gitosis-admin repository.

On Debian Systems with Apache User:

$ mkdir /var/www/.ssh
$ chown -R www-data:nobody /var/www/.ssh
$ sudo -u www-data ssh-keygen -t rsa

Requirements

  • At least PHP 5.3
  • Composer
  • GIT Client

TODO

  • Auth Layer with LDAP support
  • More Translations