Metadata-Version: 2.1
Name: django-gitolite
Version: 0.2.2
Summary: A basic Django app for using Gitolite
Home-page: https://eyl.io/
Author: Jonathan Eyolfson
Author-email: eyolfson@gmail.com
License: AGPL-3.0+
Description: # Django Gitolite
        
        A basic Django app for using Gitolite
        
        ## Configuration
        
        By default the Gitolite rc file is `~/.gitolite.rc`. Follow these steps:
        
        1. Add `LOCAL_CODE => "$ENV{HOME}/local",` to the rc file.
        2. Create `~/local/triggers/post-compile/django`, it should be executable and
           call the `gitolitetrigger` management command.
        3. Create `~/local/hooks/common/post-receive`, it should be executable and call
           the `gitolitehook` management command.
        4. Add `POST_COMPILE => ['post-compile/django'],` to the rc file.
        5. Add `POST_CREATE => ['post-compile/django'],` to the rc file.
        6. Add `SSH_AUTHKEYS => ['post-compile/ssh-authkeys'],` to the rc file.
        
        This is an example `post-compile/django` script:
        
            #!/bin/bash
            source ~/virtualenv/bin/activate
            export PYTHONPATH=~/site
            export DJANGO_SETTINGS_MODULE=settings
            python ~/site/manage.py gitolitetrigger $@
        
        This is an example `post-receive` script:
        
            #!/bin/bash
            source ~/virtualenv/bin/activate
            export PYTHONPATH=~/site
            export DJANGO_SETTINGS_MODULE=settings
            python ~/site/manage.py gitolitehook $@
        
        ### Running as another user
        
        This configuration requires `sudo` and the current user to be in the same group
        as the gitolite user's default group.
        
        As the gitolite user, open `~/.gitolite.rc` and add `UMASK =>  0027,`. This is
        required to be able to read `gl-creator` and `gl-forked-from` files in the
        repositories. Next, ensure that the key directory, `~/.gitolite/keydir` exists
        and is writable by the current user. Files in this directory need to be
        readable by the gitolite user, to ensure that files are created belong to the
        gitolite user's default group use `chmod g+rwxs ~/.gitolite/keydir`.
        
        Next, you need to setup `sudo` so the gitolite user can use it to run Gitolite
        triggers. Insert the following line into `/etc/sudoers`:
        
            %git ALL=(git)NOPASSWD:/usr/bin/gitolite trigger SSH_AUTHKEYS
        
        Below is the following I use on my server:
        
            Defaults: site-eyl env_keep += "GL_USER"
            %git ALL=(git)NOPASSWD:/usr/bin/gitolite trigger SSH_AUTHKEYS,/usr/bin/gitolite list-phy-repos,/usr/bin/gitolite access *,/usr/bin/gitolite D *
        
            Defaults:git env_keep += "GL_REPO GL_USER GL_BYPASS_ACCESS_CHECKS"
            git ALL=(site-eyl) NOPASSWD: /srv/site-eyl/bin/manage gitolitehook,/srv/site-eyl/bin/manage gitolitetrigger *
        
        ## License
        
        All code is licensed under GPL v3.
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.1
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Description-Content-Type: text/markdown
