.. _custom-gitolite:
Customize the gitolite configuration
====================================
Pagure provides a mechanism to allow customizing the creation and
compilation of the configuration file of gitolite.
To customize the gitolite configuration file, we invite you to look at the
`sources of the module pagure.lib.git_auth
<https://pagure.io/pagure/blob/master/f/pagure/lib/git_auth.py>`_.
As you can see it defines the following class::
class GitAuthHelper(object):
__metaclass__ = abc.ABCMeta
@staticmethod
@abc.abstractmethod
def generate_acls():
pass
@classmethod
@abc.abstractmethod
def remove_acls(self, session, project):
pass
This will be the class you will have to inherit from in order to inject your
own code.
You will then declare an entry point in your `setup.py` following this
template::
entry_points="""
[pagure.git_auth.helpers]
my_git_auth = my_pagure.my_module:MyGitAuthTestHelper
"""
Then you can adjust pagure's configuration file to say::
GITOLITE_BACKEND = 'my_git_auth'