wiki:TracGitosisPlugin

Version 8 (modified by dr4Ke, 4 years ago) (diff)

How it works

Gitosis administration plugin

Description

This plugin allows partial gitosis administration from Trac.

Users will be able to add their public SSH key in gitosis (new settings tab).

Admins will be able to set the location of the gitosis-admin repository and settings for the git repository associated with Trac (requires GitPlugin.)

Bugs/Feature Requests

Existing bugs and feature requests for TracGitosisPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from GitHub.

Source

You can check out TracGitosisPlugin using git clone git://github.com/dr4Ke/TracGitosisPlugin.git, or browse the source on GitHub.

Configuration

Before this plugin can work, you need a few things :

  • a working git installation on the server running Trac
  • SSH key pair without passphrase for the user running Trac
  • access to a gitosis-admin repository

SSH key pair

Example on a RHEL server using Apache httpd :

# Create the key pair without passphrase
mkdir /var/www/.ssh
ssh-keygen -f /var/www/.ssh/id_rsa
# Connect to the server hosting gitosis once to validate the server identity
ssh -i /var/www/.ssh/id_rsa -o UserKnownHostsFile=/var/www/.ssh/known_hosts <git_user>@<git_server>
# Give this directory to the user running Trac (here: apache)
chown -Rh apache.apache /var/www/.ssh

Configure access to gitosis-admin

Simply add the previously generated public key in the file keydir/trac.pub and add the user trac in the gitosis-admin group members in the gitosis.conf file as for a standard gitosis admin. Then commit and push your changes. That should do it.

Configuration into Trac

You have to enable the plugin (and restart Trac) with this parameter in trac.ini:

[components]
tracgitosis.* = enabled

Next, in the Admin panel, you'll see Two new pages in a new Trac Gitosis section:

  • Admin Settings
  • Repository Settings

In the Admin Settings, you must give gitosis-admin access parameters before you can really use this plugin :

ParameterDefault valueDescription
Admin Repository Namegitosis-adminthe name of the gitosis administration special repository
UsergitSystem username for access on the gitosis repositories
ServerlocalhostServer hosting gitosis repositories

Save changes and enjoy the Repository Settings (for admins only) and the gitosis SSH public key in all users preferences.

How it works

When accessing either Repository Settings or gitosis SSH public key for the first time, Trac clones the gitosis-admin repository at the root of the trac project.

Then, each time these pages are displayed, the repository is pulled in order to read current settings and public keys. When you press Save changes, the repository is pulled again, settings are written into gitosis.conf, public key is written into keydir/<user>.pub, changes are commited and pushed to the main admin repository.

Recent Changes

See GitHub history

Author/Contributors

Author: dr4Ke
Maintainer: dr4Ke
Contributors: