Blame doc/configuration.rst

Pierre-Yves Chibon 2cf341
Configuration
Pierre-Yves Chibon 2cf341
=============
Pierre-Yves Chibon 2cf341
Pierre-Yves Chibon 7eabf8
Pagure offers a wide varieties of options that must or can be used to
Pierre-Yves Chibon 2cf341
adjust its behavior.
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon 909a5f
Pierre-Yves Chibon 494104
Pierre-Yves Chibon a6079f
Must options
Pierre-Yves Chibon a6079f
------------
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon 7eabf8
Here are the options you must set up in order to get pagure running.
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon a6079f
SECRET_KEY
Pierre-Yves Chibon a6079f
~~~~~~~~~~
Pierre-Yves Chibon a6079f
bill auger e9ffb5
This configuration key is used by flask to create the session. It should be kept secret
Pierre-Yves Chibon a6079f
and set as a long and random string.
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon 764459
SALT_EMAIL
Pierre-Yves Chibon 764459
~~~~~~~~~~
Pierre-Yves Chibon 764459
bill auger e9ffb5
This configuration key is used to ensure that when sending
Pierre-Yves Chibon 764459
notifications to different users, each one of them has a different, unique
René Genz 520020
and unfakeable ``Reply-To`` header. This header is then used by the milter to find
Pierre-Yves Chibon 764459
out if the response received is a real one or a fake/invalid one.
Pierre-Yves Chibon 764459
Pierre-Yves Chibon 764459
Pierre-Yves Chibon a6079f
DB_URL
Pierre-Yves Chibon a6079f
~~~~~~
Pierre-Yves Chibon a6079f
bill auger e9ffb5
This configuration key indicates to the framework how and where to connect to the database
bill auger e9ffb5
server. Pagure uses `SQLAchemy <http: www.sqlalchemy.org="">`_ to connect</http:>
bill auger e9ffb5
to a wide range of database server including MySQL, PostgreSQL, and SQLite.
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon a6079f
Examples values:
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon a6079f
::
Pierre-Yves Chibon a6079f
bill auger e9ffb5
    DB_URL = 'mysql://user:pass@host/db_name'
bill auger e9ffb5
    DB_URL = 'postgres://user:pass@host/db_name'
Pierre-Yves Chibon a6079f
    DB_URL = 'sqlite:////var/tmp/pagure_dev.sqlite'
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon a6079f
Defaults to ``sqlite:////var/tmp/pagure_dev.sqlite``
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon a6079f
APP_URL
Pierre-Yves Chibon a6079f
~~~~~~~
Pierre-Yves Chibon a6079f
bill auger e9ffb5
This configuration key indicates the URL at which this pagure instance will be made available.
Pierre-Yves Chibon a6079f
Pierre-Yves Chibon 7a3469
Defaults to: ``https://pagure.org/``
Pierre-Yves Chibon 2e4eca
Pierre-Yves Chibon 2e4eca
Pierre-Yves Chibon 2e4eca
EMAIL_ERROR
Pierre-Yves Chibon 2e4eca
~~~~~~~~~~~
Pierre-Yves Chibon 2e4eca
René Genz 520020
Pagure sends email when it catches an unexpected error (which saves you from
bill auger e9ffb5
having to monitor the logs regularly; but if you like, the error is still
Pierre-Yves Chibon 2e4eca
present in the logs).
bill auger e9ffb5
This configuration key allows you to specify to which email address to send
bill auger e9ffb5
these error reports.
Pierre-Yves Chibon 7a3469
Pierre-Yves Chibon 7a3469
Pierre-Yves Chibon 7a3469
GIT_URL_SSH
Pierre-Yves Chibon 7a3469
~~~~~~~~~~~
Pierre-Yves Chibon 7a3469
Pierre-Yves Chibon 7a3469
This configuration key provides the information to the user on how to clone
Pierre-Yves Chibon 78aca2
the git repos hosted on pagure via `SSH <https: en.wikipedia.org="" secure_shell="" wiki="">`_.</https:>
Pierre-Yves Chibon 7a3469
Pierre-Yves Chibon 7a3469
The URL should end with a slash ``/``.
Pierre-Yves Chibon 7a3469
Pierre-Yves Chibon 7a3469
Defaults to: ``'ssh://git@pagure.org/'``
Pierre-Yves Chibon 7a3469
Pierre-Yves Chibon 8a18c8
.. note:: If you are using a custom setup for your deployment where every
Pierre-Yves Chibon 8a18c8
        user has an account on the machine you may want to tweak this URL
Pierre-Yves Chibon 8a18c8
        to include the username. If that is the case, you can use
Pierre-Yves Chibon 8a18c8
        ``{username}`` in the URL and it will be expanded to the username
Pierre-Yves Chibon 8a18c8
        of the user viewing the page when rendered.
Pierre-Yves Chibon 8a18c8
        For example: ``'ssh://{username}@pagure.org/'``
Pierre-Yves Chibon 8a18c8
Pierre-Yves Chibon 7a3469
Pierre-Yves Chibon 7a3469
GIT_URL_GIT
Pierre-Yves Chibon 7a3469
~~~~~~~~~~~
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 7a3469
This configuration key provides the information to the user on how to clone
Pierre-Yves Chibon ffa951
the git repos hosted on pagure anonymously. This access can be granted via
Pierre-Yves Chibon 7a3469
the ``git://`` or ``http(s)://`` protocols.
Pierre-Yves Chibon 7a3469
Pierre-Yves Chibon 7a3469
The URL should end with a slash ``/``.
Pierre-Yves Chibon 7a3469
Pierre-Yves Chibon 7a3469
Defaults to: ``'git://pagure.org/'``
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon 77edd1
BROKER_URL
Pierre-Yves Chibon 77edd1
~~~~~~~~~~
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 77edd1
This configuration key is used to point celery to the broker to use. This
Pierre-Yves Chibon 77edd1
is the broker that is used to communicate between the web application and
Pierre-Yves Chibon 77edd1
its workers.
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 77edd1
Defaults to: ``'redis://%s' % APP.config['REDIS_HOST']``
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 77edd1
.. note:: See the :ref:`redis-section` for the ``REDIS_HOST`` configuration
Pierre-Yves Chibon 77edd1
          key
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 494104
bill auger e9ffb5
Repo Directories
bill auger e9ffb5
----------------
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
Each project in pagure has 4 git repositories:
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
- the main repo for the code
Pierre-Yves Chibon d4c756
- the doc repo showed in the doc server
bill auger e9ffb5
- the ticket repo storing the metadata of the tickets
bill auger e9ffb5
- the request repo storing the metadata of the pull-requests
Pierre-Yves Chibon d4c756
bill auger e9ffb5
There are then another 3 folders: one for specifying the locations of the forks, one
bill auger e9ffb5
for the remote git repo used for the remotes pull-requests (ie: those coming from
bill auger e9ffb5
a project not hosted on this instance of pagure), and one for user-uploaded tarballs.
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
bill auger e9ffb5
GIT_FOLDER
bill auger e9ffb5
~~~~~~~~~~
Pierre-Yves Chibon d4c756
bill auger e9ffb5
This configuration key points to the folder where the git repos for the
bill auger e9ffb5
source code of the projects are stored.
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
DOCS_FOLDER
Pierre-Yves Chibon d4c756
~~~~~~~~~~~
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon aadfc3
This configuration key points to the folder where the git repos for the
Pierre-Yves Chibon aadfc3
documentation of the projects are stored.
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
TICKETS_FOLDER
Pierre-Yves Chibon d4c756
~~~~~~~~~~~~~~
Pierre-Yves Chibon d4c756
bill auger e9ffb5
This configuration key points to the folder where the git repos for the
Pierre-Yves Chibon aadfc3
metadata of the tickets opened against the project are stored .
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
REQUESTS_FOLDER
Pierre-Yves Chibon d4c756
~~~~~~~~~~~~~~~
Pierre-Yves Chibon d4c756
bill auger e9ffb5
This configuration key points to the folder where the git repos for the
Pierre-Yves Chibon aadfc3
metadata of the pull-requests opened against the project are stored.
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon d4c756
REMOTE_GIT_FOLDER
Pierre-Yves Chibon d4c756
~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon d4c756
Pierre-Yves Chibon aadfc3
This configuration key points to the folder where the remote git repos (ie:
Pierre-Yves Chibon aadfc3
not hosted on pagure) that someone used to open a pull-request against a
Pierre-Yves Chibon aadfc3
project hosted on pagure are stored.
Pierre-Yves Chibon 0928d4
Pierre-Yves Chibon 0928d4
bill auger e9ffb5
UPLOAD_FOLDER_PATH
bill auger e9ffb5
~~~~~~~~~~~~~~~~~~
bill auger e9ffb5
bill auger e9ffb5
This configuration key points to the folder where user-uploaded tarballs
bill auger e9ffb5
are stored and served from.
bill auger e9ffb5
bill auger e9ffb5
Pierre-Yves Chibon 77edd1
ATTACHMENTS_FOLDER
Pierre-Yves Chibon 77edd1
~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 77edd1
This configuration key points to the folder where attachments can be cached
Pierre-Yves Chibon 77edd1
for easier access by the web-server (allowing to not interact with the git
Pierre-Yves Chibon 77edd1
repo having it to serve it).
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 7dac79
UPLOAD_FOLDER_URL
Pierre-Yves Chibon 7dac79
~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 7dac79
René Genz 520020
Full URL to where the uploads are available. It is highly recommended for
Pierre-Yves Chibon 7dac79
security reasons that this URL lives on a different domain than the main
Pierre-Yves Chibon 7dac79
application (an entirely different domain, not just a sub-domain).
Pierre-Yves Chibon 7dac79
Pierre-Yves Chibon 7dac79
Defaults to: ``/releases/``, unsafe for production!
Pierre-Yves Chibon 7dac79
Pierre-Yves Chibon 7dac79
Pierre-Yves Chibon 7dac79
.. warning:: both `UPLOAD_FOLDER_PATH` and `UPLOAD_FOLDER_URL` must be
Pierre-Yves Chibon 7dac79
            specified for the upload release feature to work
Pierre-Yves Chibon 7dac79
Pierre-Yves Chibon 7dac79
Pierre-Yves Chibon 0928d4
SESSION_COOKIE_SECURE
Pierre-Yves Chibon 0928d4
~~~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 0928d4
Pierre-Yves Chibon 0928d4
When this is set to True, the session cookie will only be returned to the
Pierre-Yves Chibon 0928d4
server via ssl (https). If you connect to the server via plain http, the
Pierre-Yves Chibon 0928d4
cookie will not be sent. This prevents sniffing of the cookie contents.
Pierre-Yves Chibon 0928d4
This may be set to False when testing your application but should always
Pierre-Yves Chibon 0928d4
be set to True in production.
Pierre-Yves Chibon 0928d4
Pierre-Yves Chibon 0928d4
Defaults to: ``False`` for development, must be ``True`` in production with
Pierre-Yves Chibon 0928d4
https.
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon 909a5f
FROM_EMAIL
Pierre-Yves Chibon 909a5f
~~~~~~~~~~
Pierre-Yves Chibon 909a5f
bill auger e9ffb5
This configuration key specifies the email address used by this pagure instance
Pierre-Yves Chibon 909a5f
when sending emails (notifications).
Pierre-Yves Chibon 909a5f
Pierre-Yves Chibon 909a5f
Defaults to: ``pagure@pagure.org``
Pierre-Yves Chibon 909a5f
Pierre-Yves Chibon 909a5f
Pierre-Yves Chibon 1b7aad
DOMAIN_EMAIL_NOTIFICATIONS
Pierre-Yves Chibon 1b7aad
~~~~~~~~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 1b7aad
bill auger e9ffb5
This configuration key specifies the domain used by this pagure instance
bill auger e9ffb5
when sending emails (notifications). More precisely, it is used
Pierre-Yves Chibon 1b7aad
when building the ``msg-id`` header of the emails sent.
Pierre-Yves Chibon 1b7aad
Pierre-Yves Chibon 1b7aad
Defaults to: ``pagure.org``
Pierre-Yves Chibon 1b7aad
Pierre-Yves Chibon 1b7aad
Patrick Uiterwijk 78afb3
VIRUS_SCAN_ATTACHMENTS
Patrick Uiterwijk 78afb3
~~~~~~~~~~~~~~~~~~~~~~
Patrick Uiterwijk 78afb3
bill auger e9ffb5
This configuration key configures whether attachments are scanned for viruses on
Patrick Uiterwijk 78afb3
upload. For more information, see the install.rst guide.
Patrick Uiterwijk 78afb3
Patrick Uiterwijk 78afb3
Defaults to: ``False``
Patrick Uiterwijk 78afb3
Patrick Uiterwijk 78afb3
Pierre-Yves Chibon 494104
Pierre-Yves Chibon f17ee3
Configure Gitolite
Pierre-Yves Chibon f17ee3
------------------
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
Pagure uses `gitolite <http: gitolite.com="">`_ as an authorization layer.</http:>
Pierre-Yves Chibon f17ee3
Gitolite relies on `SSH <https: en.wikipedia.org="" secure_shell="" wiki="">`_ for</https:>
Pierre-Yves Chibon 145998
the authentication. In other words, SSH lets you in and gitolite checks if
Pierre-Yves Chibon 145998
you are allowed to do what you are trying to do once you are inside.
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon 145998
Pagure supports both gitolite 2 and gitolite 3 and the code generating
Pierre-Yves Chibon 145998
the gitolite configuration can be customized for easier integration with
Pierre-Yves Chibon 145998
other systems (cf :ref:`custom-gitolite`).
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
**gitolite 2 and 3**
Pierre-Yves Chibon 145998
~~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
GITOLITE_HOME
Pierre-Yves Chibon f17ee3
~~~~~~~~~~~~~
Pierre-Yves Chibon f17ee3
bill auger e9ffb5
This configuration key points to the home directory of the user under which
bill auger e9ffb5
gitolite is ran.
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
GITOLITE_KEYDIR
Pierre-Yves Chibon f17ee3
~~~~~~~~~~~~~~~
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
This configuration key points to the folder where gitolite stores and accesses
Pierre-Yves Chibon f17ee3
the public SSH keys of all the user have access to the server.
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
Since pagure is the user interface, it is pagure that writes down the files
bill auger e9ffb5
in this directory, effectively setting up the users to be able to use gitolite.
bill auger e9ffb5
bill auger e9ffb5
bill auger e9ffb5
GITOLITE_CONFIG
bill auger e9ffb5
~~~~~~~~~~~~~~~
bill auger e9ffb5
bill auger e9ffb5
This configuration key points to the gitolite.conf file where pagure writes
bill auger e9ffb5
the gitolite repository access configuration.
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon 145998
GITOLITE_BACKEND
Pierre-Yves Chibon 145998
~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
This configuration key allows specifying which helper method to use to
Pierre-Yves Chibon 145998
generate and compile gitolite's configuration file.
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
By default pagure provides the following backends:
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
- `test_auth`: simple debugging backend printing and returning the string ``Called GitAuthTestHelper.generate_acls()``
Pierre-Yves Chibon 145998
- `gitolite2`: allows deploying pagure on the top of gitolite 2
Pierre-Yves Chibon 145998
- `gitolite3`: allows deploying pagure on the top of gitolite 3
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
Defaults to: ``gitolite3``
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
.. note:: These options can be expended, cf :ref:`custom-gitolite`.
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 56e29f
GITOLITE_CELERY_QUEUE
Pierre-Yves Chibon 56e29f
~~~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 56e29f
Pierre-Yves Chibon 56e29f
This configuration is useful for large pagure deployment where recompiling
Pierre-Yves Chibon 56e29f
the gitolite config file can take a long time. By default the compilation
Pierre-Yves Chibon 56e29f
of gitolite's configuration file is done by the pagure_worker, which spawns
Pierre-Yves Chibon 56e29f
by default 4 concurrent workers. If it takes a while to recompile the
Pierre-Yves Chibon 56e29f
gitolite configuration file, these workers may be stepping on each others'
Pierre-Yves Chibon 56e29f
toes.
Pierre-Yves Chibon 56e29f
In this situation, this configuration key allows you to direct the messages
Pierre-Yves Chibon 56e29f
asking for the gitolite configuration file to be compiled to a different
Pierre-Yves Chibon 56e29f
queue which can then be handled by a different service/worker.
Pierre-Yves Chibon 56e29f
Pierre-Yves Chibon 56e29f
Pagure provides a ``pagure_gitolite_worker.service`` systemd service file
Pierre-Yves Chibon 56e29f
pre-configured to handles these messages if this configuration key is set
Pierre-Yves Chibon 56e29f
to ``gitolite_queue``.
Pierre-Yves Chibon 56e29f
Pierre-Yves Chibon 56e29f
Pierre-Yves Chibon 145998
**gitolite 2 only**
Pierre-Yves Chibon 145998
~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 145998
Pierre-Yves Chibon f17ee3
GL_RC
Pierre-Yves Chibon f17ee3
~~~~~
Pierre-Yves Chibon f17ee3
bill auger e9ffb5
This configuration key points to the file ``gitolite.rc`` used by gitolite
Pierre-Yves Chibon f17ee3
to record who has access to what (ie: who has access to which repo/branch).
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
GL_BINDIR
Pierre-Yves Chibon f17ee3
~~~~~~~~~
Pierre-Yves Chibon f17ee3
Pierre-Yves Chibon f17ee3
This configuration key indicates the folder in which the gitolite tools can
Pierre-Yves Chibon f17ee3
be found. It can be as simple as ``/usr/bin/`` if the tools have been installed
Pierre-Yves Chibon f17ee3
using a package manager or something like ``/opt/bin/`` for a more custom
Pierre-Yves Chibon f17ee3
install.
Pierre-Yves Chibon a9a543
Pierre-Yves Chibon a9a543
Pierre-Yves Chibon 494104
Pierre-Yves Chibon 8fc6b7
EventSource options
Pierre-Yves Chibon 8fc6b7
-------------------
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 8fc6b7
EVENTSOURCE_SOURCE
Pierre-Yves Chibon 8fc6b7
~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 8fc6b7
This configuration key indicates the URL at which the EventSource server is
Pierre-Yves Chibon 8fc6b7
available. If not defined, pagure will behave as if there are no EventSource
Pierre-Yves Chibon 8fc6b7
server running.
Pierre-Yves Chibon 8fc6b7
bill auger e9ffb5
Pierre-Yves Chibon 8fc6b7
EVENTSOURCE_PORT
Pierre-Yves Chibon 8fc6b7
~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 8fc6b7
This configuration key indicates the port at which the EventSource server is
bill auger e9ffb5
running.
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 68903e
.. note:: The EventSource server requires a redis server (see ``Redis options``
Pierre-Yves Chibon 68903e
         below)
Pierre-Yves Chibon 68903e
Pierre-Yves Chibon 68903e
Pierre-Yves Chibon 494104
Pierre-Yves Chibon 68903e
Web-hooks notifications
Pierre-Yves Chibon 68903e
-----------------------
Pierre-Yves Chibon 68903e
Pierre-Yves Chibon 68903e
WEBHOOK
Pierre-Yves Chibon 68903e
~~~~~~~
Pierre-Yves Chibon 68903e
Pierre-Yves Chibon 68903e
This configuration key allows turning on or off web-hooks notifications for
Pierre-Yves Chibon 68903e
this pagure instance.
Pierre-Yves Chibon 68903e
Pierre-Yves Chibon 68903e
Defaults to: ``False``.
Pierre-Yves Chibon 68903e
Pierre-Yves Chibon 68903e
.. note:: The Web-hooks server requires a redis server (see ``Redis options``
Pierre-Yves Chibon 68903e
         below)
Pierre-Yves Chibon 68903e
Pierre-Yves Chibon 68903e
Pierre-Yves Chibon 77edd1
.. _redis-section:
Pierre-Yves Chibon 494104
Pierre-Yves Chibon 68903e
Redis options
Pierre-Yves Chibon 68903e
-------------
Pierre-Yves Chibon 68903e
Pierre-Yves Chibon 8fc6b7
REDIS_HOST
Pierre-Yves Chibon 8fc6b7
~~~~~~~~~~
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 8fc6b7
This configuration key indicates the host at which the `redis <http: redis.io="">`_</http:>
Pierre-Yves Chibon 8fc6b7
server is running.
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 8fc6b7
Defaults to: ``0.0.0.0``.
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 8fc6b7
REDIS_PORT
Pierre-Yves Chibon 8fc6b7
~~~~~~~~~~
Pierre-Yves Chibon 8fc6b7
bill auger e9ffb5
This configuration key indicates the port at which the redis server can be
Pierre-Yves Chibon 8fc6b7
contacted.
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 8fc6b7
Defaults to: ``6379``.
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 8fc6b7
REDIS_DB
Pierre-Yves Chibon 8fc6b7
~~~~~~~~
Pierre-Yves Chibon 8fc6b7
bill auger e9ffb5
This configuration key indicates the name of the redis database to use for
bill auger e9ffb5
communicating with the EventSource server.
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 8fc6b7
Defaults to: ``0``.
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 8fc6b7
Pierre-Yves Chibon 494104
Pierre-Yves Chibon 1abf96
Authentication options
Pierre-Yves Chibon 1abf96
----------------------
Pierre-Yves Chibon 1abf96
Pierre-Yves Chibon 1abf96
ADMIN_GROUP
Pierre-Yves Chibon 1abf96
~~~~~~~~~~~
Pierre-Yves Chibon 1abf96
bill auger e9ffb5
List of groups, either local or remote (if the openid server used supports the
bill auger e9ffb5
group extension), that are the site admins. These admins can regenerate the
bill auger e9ffb5
gitolite configuration, the ssh key files, and the hook-token for every project
Pierre-Yves Chibon 1abf96
as well as manage users and groups.
Pierre-Yves Chibon 1abf96
Pierre-Yves Chibon 1abf96
Pierre-Yves Chibon 1abf96
PAGURE_ADMIN_USERS
Pierre-Yves Chibon 1abf96
~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 1abf96
bill auger e9ffb5
List of local users that are the site admins. These admins have the same rights as
bill auger e9ffb5
the users in the admin groups listed above as well as admin rights to
bill auger e9ffb5
all projects hosted on this pagure instance.
Pierre-Yves Chibon 1abf96
Pierre-Yves Chibon 1abf96
Pierre-Yves Chibon a892ce
API token ACLs
Pierre-Yves Chibon a892ce
--------------
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
ACLS
Pierre-Yves Chibon a892ce
~~~~
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
This configuration key lists all the ACLs that can be associated with an API
Pierre-Yves Chibon a892ce
token with a short description of what the ACL allows to do.
Pierre-Yves Chibon a892ce
This key it not really meant to be changed unless you really know what you
Pierre-Yves Chibon a892ce
are doing.
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
USER_ACLS
Pierre-Yves Chibon a892ce
~~~~~~~~~
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
This configuration key allows to list which of the ACLs listed in ``ACLS``
Pierre-Yves Chibon a892ce
can be associated with an API token of a project in the (web) user interface.
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
Use this configuration key in combination with ``ADMIN_API_ACLS`` to disable
Pierre-Yves Chibon a892ce
certain ACLs for users while allowing admins to generate keys with them.
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon d0c6fa
Defaults to: ``[key for key in ACLS.keys() if key != 'generate_acls_project']``
Pierre-Yves Chibon d0c6fa
    (ie: all the ACLs in ``ACLS`` except for ``generate_acls_project``)
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
ADMIN_API_ACLS
Pierre-Yves Chibon a892ce
~~~~~~~~~~~~~~
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
This configuration key allows to list which of the ACLs listed in ``ACLS``
Pierre-Yves Chibon a892ce
can be generated by the ``pagure-admin`` CLI tool by admins.
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
Defaults to: ``['create_project', 'fork_project', 'modify_project']``
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
CROSS_PROJECT_ACLS
Pierre-Yves Chibon a892ce
~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
This configuration key allows to list which of the ACLs listed in ``ACLS``
Pierre-Yves Chibon a892ce
can be associated with a project-less API token in the (web) user interface.
Pierre-Yves Chibon a892ce
These project-less API tokens can be generated in the user's settings page
Pierre-Yves Chibon a892ce
and allows action in multiple projects instead of being restricted to a
Pierre-Yves Chibon a892ce
specific one.
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon a892ce
Defaults to: ``['issue_comment', 'issue_create', 'issue_change_status', 'pull_request_flag', 'pull_request_comment', 'pull_request_merge']``
Pierre-Yves Chibon a892ce
Pierre-Yves Chibon 494104
Pierre-Yves Chibon a9a543
Optional options
Pierre-Yves Chibon a9a543
----------------
Pierre-Yves Chibon a9a543
Pierre-Yves Chibon a9a543
SSH_KEYS
Pierre-Yves Chibon a9a543
~~~~~~~~
Pierre-Yves Chibon a9a543
René Genz 520020
It is a good practice to publish the fingerprint and public SSH key of a
Pierre-Yves Chibon a9a543
server you provide access to.
Pierre-Yves Chibon a9a543
Pagure offers the possibility to expose this information based on the values
Pierre-Yves Chibon a9a543
set in the configuration file, in the ``SSH_KEYS`` configuration key.
Pierre-Yves Chibon a9a543
Pierre-Yves Chibon a9a543
See the `SSH hostkeys/Fingerprints page on pagure.io <https: pagure.io="" ssh_info="">`_.</https:>
Pierre-Yves Chibon a9a543
Pierre-Yves Chibon a9a543
.. warning: The format is important
Pierre-Yves Chibon a9a543
Pierre-Yves Chibon a9a543
    SSH_KEYS = {'RSA': {'fingerprint': '<foo>', 'pubkey': '<bar>'}}</bar></foo>
Pierre-Yves Chibon a9a543
Pierre-Yves Chibon a9a543
Where `<foo>` and `<bar>` must be replaced by your values.</bar></foo>
Pierre-Yves Chibon b1260e
Pierre-Yves Chibon b1260e
Pierre-Yves Chibon b1260e
ITEM_PER_PAGE
Pierre-Yves Chibon b1260e
~~~~~~~~~~~~~
Pierre-Yves Chibon b1260e
This configuration key allows you to configure the length of a page by
bill auger e9ffb5
setting the number of items on the page. Items can be commits, users, groups,
Pierre-Yves Chibon b1260e
or projects for example.
Pierre-Yves Chibon b1260e
Pierre-Yves Chibon b1260e
Defaults to: ``50``.
Pierre-Yves Chibon 1435af
Pierre-Yves Chibon 1435af
Pierre-Yves Chibon 1435af
SMTP_SERVER
Pierre-Yves Chibon 1435af
~~~~~~~~~~~
Pierre-Yves Chibon 1435af
bill auger e9ffb5
This configuration key specifies the SMTP server to use when
Pierre-Yves Chibon 1435af
sending emails.
Pierre-Yves Chibon 1435af
Pierre-Yves Chibon 1435af
Defaults to: ``localhost``.
Pierre-Yves Chibon ae1519
bill auger e9ffb5
Vyacheslav Anzhiganov 3f9d9d
SMTP_PORT
Vyacheslav Anzhiganov 3f9d9d
~~~~~~~~~
Vyacheslav Anzhiganov 3f9d9d
bill auger e9ffb5
This configuration key specifies the SMTP server port.
Vyacheslav Anzhiganov 3f9d9d
Vyacheslav Anzhiganov 3f9d9d
SMTP by default uses TCP port 25. The protocol for mail submission is
Vyacheslav Anzhiganov 3f9d9d
the same, but uses port 587.
Vyacheslav Anzhiganov 3f9d9d
SMTP connections secured by SSL, known as SMTPS, default to port 465
Vyacheslav Anzhiganov 3f9d9d
(nonstandard, but sometimes used for legacy reasons).
Vyacheslav Anzhiganov 3f9d9d
Vyacheslav Anzhiganov 3f9d9d
Defaults to: ``25``
Vyacheslav Anzhiganov 3f9d9d
bill auger e9ffb5
Vyacheslav Anzhiganov 3f9d9d
SMTP_SSL
Vyacheslav Anzhiganov 3f9d9d
~~~~~~~~
Vyacheslav Anzhiganov 3f9d9d
bill auger e9ffb5
This configuration key specifies whether the SMTP connections
bill auger e9ffb5
should be secured over SSL.
Vyacheslav Anzhiganov 3f9d9d
Vyacheslav Anzhiganov 3f9d9d
Defaults to: ``False``
Vyacheslav Anzhiganov 3f9d9d
bill auger e9ffb5
Vyacheslav Anzhiganov 3f9d9d
SMTP_USERNAME
Vyacheslav Anzhiganov 3f9d9d
~~~~~~~~~~~~~
Vyacheslav Anzhiganov 3f9d9d
bill auger e9ffb5
This configuration key allows usage of SMTP with auth.
Vyacheslav Anzhiganov 3f9d9d
Vyacheslav Anzhiganov 3f9d9d
Note: Specify SMTP_USERNAME and SMTP_PASSWORD for using SMTP auth
Vyacheslav Anzhiganov 3f9d9d
Vyacheslav Anzhiganov 3f9d9d
Defaults to: ``None``
Vyacheslav Anzhiganov 3f9d9d
bill auger e9ffb5
Vyacheslav Anzhiganov 3f9d9d
SMTP_PASSWORD
Vyacheslav Anzhiganov 3f9d9d
~~~~~~~~~~~~~
Vyacheslav Anzhiganov 3f9d9d
bill auger e9ffb5
This configuration key allows usage of SMTP with auth.
Vyacheslav Anzhiganov 3f9d9d
Vyacheslav Anzhiganov 3f9d9d
Note: Specify SMTP_USERNAME and SMTP_PASSWORD for using SMTP auth
Vyacheslav Anzhiganov 3f9d9d
Vyacheslav Anzhiganov 3f9d9d
Defaults to: ``None``
Pierre-Yves Chibon ae1519
Pierre-Yves Chibon ae1519
SHORT_LENGTH
Pierre-Yves Chibon ae1519
~~~~~~~~~~~~
Pierre-Yves Chibon ae1519
bill auger e9ffb5
This configuration key specifies the length of the commit ids or
Pierre-Yves Chibon ae1519
file hex displayed in the user interface.
Pierre-Yves Chibon ae1519
Pierre-Yves Chibon ae1519
Defaults to: ``6``.
Pierre-Yves Chibon a0e179
Pierre-Yves Chibon a0e179
Pierre-Yves Chibon a0e179
BLACKLISTED_PROJECTS
Pierre-Yves Chibon a0e179
~~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon a0e179
bill auger e9ffb5
This configuration key specifies a list of project names that are forbidden.
Pierre-Yves Chibon a0e179
This list is used for example to avoid conflicts at the URL level between the
Pierre-Yves Chibon a0e179
static files located under ``/static/`` and a project that would be named
Pierre-Yves Chibon a0e179
``static`` and thus be located at ``/static``.
Pierre-Yves Chibon a0e179
Pierre-Yves Chibon a0e179
Defaults to:
Pierre-Yves Chibon a0e179
Pierre-Yves Chibon a0e179
::
Pierre-Yves Chibon a0e179
Pierre-Yves Chibon a0e179
    [
Pierre-Yves Chibon a0e179
        'static', 'pv', 'releases', 'new', 'api', 'settings',
Pierre-Yves Chibon a0e179
        'logout', 'login', 'users', 'groups'
Pierre-Yves Chibon a0e179
    ]
Pierre-Yves Chibon 969487
Pierre-Yves Chibon 969487
Pierre-Yves Chibon 969487
CHECK_SESSION_IP
Pierre-Yves Chibon 969487
~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 969487
bill auger e9ffb5
This configuration key specifies whether to check the user's IP
Pierre-Yves Chibon aadfc3
address when retrieving its session. This makes things more secure but
Pierre-Yves Chibon 7dac79
under certain setups it might not work (for example if there
bill auger e9ffb5
are proxies in front of the application).
Pierre-Yves Chibon 969487
Pierre-Yves Chibon 969487
Defaults to: ``True``.
Pierre-Yves Chibon bf4ab5
Pierre-Yves Chibon bf4ab5
Pierre-Yves Chibon bf4ab5
PAGURE_AUTH
Pierre-Yves Chibon bf4ab5
~~~~~~~~~~~~
Pierre-Yves Chibon bf4ab5
bill auger e9ffb5
This configuration key specifies which authentication method to use.
bill auger e9ffb5
Pagure currently supports two authentication methods: one relying on the
Pierre-Yves Chibon bf4ab5
Fedora Account System `FAS <https: accounts="" admin.fedoraproject.org="">`_,</https:>
bill auger e9ffb5
and the other using only the local database.
Pierre-Yves Chibon bf4ab5
It can therefore be either ``fas`` or ``local``.
Pierre-Yves Chibon bf4ab5
Pierre-Yves Chibon bf4ab5
Defaults to: ``fas``.
Pierre-Yves Chibon f271cd
Pierre-Yves Chibon f271cd
Pierre-Yves Chibon f271cd
IP_ALLOWED_INTERNAL
Pierre-Yves Chibon f271cd
~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon f271cd
bill auger e9ffb5
This configuration key specifies which IP addresses are allowed
Pierre-Yves Chibon f271cd
to access the internal API endpoint. These endpoints are accessed by the
bill auger e9ffb5
milters for example and allow performing actions in the name of someone else
bill auger e9ffb5
which is sensitive, thus the origin of the request using
bill auger e9ffb5
these endpoints is validated.
Pierre-Yves Chibon f271cd
Pierre-Yves Chibon f271cd
Defaults to: ``['127.0.0.1', 'localhost', '::1']``.
Pierre-Yves Chibon c297f0
Pierre-Yves Chibon c297f0
Pierre-Yves Chibon c297f0
MAX_CONTENT_LENGTH
Pierre-Yves Chibon c297f0
~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon c297f0
bill auger e9ffb5
This configuration key specifies the maximum file size allowed when
Pierre-Yves Chibon c297f0
uploading content to pagure (for example, screenshots to a ticket).
Pierre-Yves Chibon c297f0
Pierre-Yves Chibon c297f0
Defaults to: ``4 * 1024 * 1024`` which corresponds to 4 megabytes.
Pierre-Yves Chibon 7840b5
Pierre-Yves Chibon 7840b5
Pierre-Yves Chibon 7840b5
ENABLE_TICKETS
Pierre-Yves Chibon 7840b5
~~~~~~~~~~~~~~
Pierre-Yves Chibon 7840b5
René Genz 520020
This configuration key activates or deactivates the ticketing system
Pierre-Yves Chibon 7840b5
for all the projects hosted on this pagure instance.
Pierre-Yves Chibon 7840b5
Pierre-Yves Chibon 7840b5
Defaults to: ``True``
Pierre-Yves Chibon ed8e6a
Pierre-Yves Chibon ed8e6a
Pierre-Yves Chibon ed8e6a
ENABLE_NEW_PROJECTS
Pierre-Yves Chibon ed8e6a
~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon ed8e6a
bill auger e9ffb5
This configuration key permits or forbids creation of new projects via
Pierre-Yves Chibon cf3d3a
the user interface and the API of this pagure instance.
Pierre-Yves Chibon cf3d3a
Pierre-Yves Chibon cf3d3a
Defaults to: ``True``
Pierre-Yves Chibon cf3d3a
Pierre-Yves Chibon cf3d3a
Pierre-Yves Chibon cf3d3a
ENABLE_UI_NEW_PROJECTS
Pierre-Yves Chibon cf3d3a
~~~~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon cf3d3a
Pierre-Yves Chibon cf3d3a
This configuration key permits or forbids creation of new projects via
Pierre-Yves Chibon cf3d3a
the user interface (only) of this pagure instance. It allows forbidding
Pierre-Yves Chibon cf3d3a
to create new project in the user interface while letting a set of trusted
Pierre-Yves Chibon cf3d3a
person to create projects via the API granted they have the API token with
Pierre-Yves Chibon cf3d3a
the corresponding ACL.
Pierre-Yves Chibon ed8e6a
Pierre-Yves Chibon ed8e6a
Defaults to: ``True``
Pierre-Yves Chibon 7e8963
Pierre-Yves Chibon 7e8963
Pierre-Yves Chibon 7e8963
ENABLE_DEL_PROJECTS
Pierre-Yves Chibon 7e8963
~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 7e8963
René Genz 520020
This configuration key permits or forbids deletion of projects via
Pierre-Yves Chibon 7e8963
the user interface of this pagure instance.
Pierre-Yves Chibon 7e8963
Pierre-Yves Chibon 7e8963
Defaults to: ``True``
Pierre-Yves Chibon f47524
Pierre-Yves Chibon f47524
Pierre-Yves Chibon 3f19a5
ENABLE_DEL_FORKS
Pierre-Yves Chibon 3f19a5
~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 3f19a5
Pierre-Yves Chibon 3f19a5
This configuration key permits or forbids deletion of forks via
Pierre-Yves Chibon 3f19a5
the user interface of this pagure instance.
Pierre-Yves Chibon 3f19a5
Pierre-Yves Chibon 3f19a5
Defaults to: ``ENABLE_DEL_PROJECTS``
Pierre-Yves Chibon 3f19a5
Pierre-Yves Chibon 3f19a5
Pierre-Yves Chibon f47524
EMAIL_SEND
Pierre-Yves Chibon f47524
~~~~~~~~~~
Pierre-Yves Chibon f47524
bill auger e9ffb5
This configuration key enables or disables all email notifications for
Pierre-Yves Chibon f47524
this pagure instance. This can be useful to turn off when developing on
Pierre-Yves Chibon f47524
pagure, or for test or pre-production instances.
Pierre-Yves Chibon f47524
Michael Watters f97ab0
Defaults to: ``False``.
Pierre-Yves Chibon c8d656
Jeremy Cline ce61b6
.. note::
Jeremy Cline ce61b6
    This does not disable emails to the email address set in ``EMAIL_ERROR``.
Jeremy Cline ce61b6
Pierre-Yves Chibon c8d656
Pierre-Yves Chibon 1ee8ed
ALLOW_DELETE_BRANCH
Pierre-Yves Chibon 1ee8ed
~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 1ee8ed
Pierre-Yves Chibon 1ee8ed
This configuration keys enables or disables allowing users to delete git
Pierre-Yves Chibon 1ee8ed
branches from the user interface. In sensible pagure instance you may
Pierre-Yves Chibon 1ee8ed
want to turn this off and with a customized gitolite configuration you can
Pierre-Yves Chibon 1ee8ed
prevent users from deleting branches in their git repositories.
Pierre-Yves Chibon 1ee8ed
Pierre-Yves Chibon 1ee8ed
Defaults to: ``True``.
Pierre-Yves Chibon 1ee8ed
Pierre-Yves Chibon 1ee8ed
Pierre-Yves Chibon 91c9c0
LOCAL_SSH_KEY
Pierre-Yves Chibon 91c9c0
~~~~~~~~~~~~~
Pierre-Yves Chibon 91c9c0
Pierre-Yves Chibon 91c9c0
This configuration key allows to let pagure administrate the user's ssh keys
Pierre-Yves Chibon 91c9c0
or have a third party tool do it for you.
Pierre-Yves Chibon 91c9c0
In most cases, it will be fine to let pagure handle it.
Pierre-Yves Chibon 91c9c0
Pierre-Yves Chibon 91c9c0
Defaults to ``True``.
Pierre-Yves Chibon 91c9c0
Pierre-Yves Chibon 91c9c0
Pierre-Yves Chibon 39f1dc
DEPLOY_KEY
Pierre-Yves Chibon 39f1dc
~~~~~~~~~~
Pierre-Yves Chibon 39f1dc
Pierre-Yves Chibon 39f1dc
This configuration key allows to disable the deploy keys feature of an
Pierre-Yves Chibon 39f1dc
entire pagure instance. This feature enable to add extra public ssh keys
Pierre-Yves Chibon 39f1dc
that a third party could use to push to a project.
Pierre-Yves Chibon 39f1dc
Pierre-Yves Chibon 39f1dc
Defaults to ``True``.
Pierre-Yves Chibon 39f1dc
Pierre-Yves Chibon 39f1dc
Pierre-Yves Chibon c8d656
OLD_VIEW_COMMIT_ENABLED
Pierre-Yves Chibon c8d656
~~~~~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon c8d656
Pierre-Yves Chibon c8d656
In version 1.3, pagure changed its URL scheme to view the commit of a
Pierre-Yves Chibon c8d656
project in order to add support for pseudo-namespaced projects.
Pierre-Yves Chibon c8d656
Pierre-Yves Chibon c8d656
For pagure instances older than 1.3, who care about backward compatibility,
Pierre-Yves Chibon c8d656
we added an endpoint ``view_commit_old`` that brings URL backward
Pierre-Yves Chibon c8d656
compatibility for URLs using the complete git hash (the 40 characters).
Pierre-Yves Chibon c8d656
For URLs using a shorter hash, the URLs will remain broken.
Pierre-Yves Chibon c8d656
bill auger e9ffb5
This configuration key enables or disables this backward compatibility
Pierre-Yves Chibon c8d656
which is useful for pagure instances running since before 1.3 but is not
Pierre-Yves Chibon c8d656
for newer instances.
Pierre-Yves Chibon c8d656
Pierre-Yves Chibon c8d656
Defaults to: ``False``.
Pierre-Yves Chibon 1d815a
Pierre-Yves Chibon 1d815a
Pierre-Yves Chibon 1d815a
PAGURE_CI_SERVICES
Pierre-Yves Chibon 1d815a
~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 1d815a
Pierre-Yves Chibon 1d815a
Pagure can be configure to integrate results of a Continuous Integration (CI)
Pierre-Yves Chibon 1d815a
service to pull-requests open against a project.
Pierre-Yves Chibon 1d815a
Pierre-Yves Chibon 1d815a
To enable this integration, follow the documentation on how to install
Pierre-Yves Chibon 1d815a
pagure-ci and set this configuration key to ``['jenkins']`` (Jenkins being
Pierre-Yves Chibon 1d815a
the only CI service supported at the moment).
Pierre-Yves Chibon 1d815a
Pierre-Yves Chibon 1d815a
Defaults to: ``None``.
Pierre-Yves Chibon 1d815a
Pierre-Yves Chibon 1d815a
.. warning:: Requires `Redis` to be configured and running.
Pierre-Yves Chibon bc0554
Pierre-Yves Chibon bc0554
Pierre-Yves Chibon bc0554
INSTANCE_NAME
Pierre-Yves Chibon bc0554
~~~~~~~~~~~~~
Pierre-Yves Chibon bc0554
Pierre-Yves Chibon bc0554
This allows giving a name to this running instance of pagure. The name is
René Genz 520020
then used in the welcome screen shown upon first login.
Pierre-Yves Chibon bc0554
Pierre-Yves Chibon bc0554
Defaults to: ``Pagure``
Pierre-Yves Chibon bc0554
Pierre-Yves Chibon bc0554
.. note: the welcome screen currently does not work with the `local`
Pierre-Yves Chibon bc0554
         authentication.
Pierre-Yves Chibon 978bbf
Pierre-Yves Chibon 978bbf
Pierre-Yves Chibon d1b9a3
USER_NAMESPACE
Pierre-Yves Chibon d1b9a3
~~~~~~~~~~~~~~
Pierre-Yves Chibon d1b9a3
Pierre-Yves Chibon d1b9a3
This configuration key allows to enforce that project are namespaced under
Pierre-Yves Chibon d1b9a3
the user's username, behaving in this way in a similar fashion as github.com
Pierre-Yves Chibon d1b9a3
or gitlab.com.
Pierre-Yves Chibon d1b9a3
Pierre-Yves Chibon d1b9a3
Defaults to: ``False``
Pierre-Yves Chibon d1b9a3
Pierre-Yves Chibon d1b9a3
Pierre-Yves Chibon 494104
DOC_APP_URL
Pierre-Yves Chibon 494104
~~~~~~~~~~~
Pierre-Yves Chibon 494104
Pierre-Yves Chibon 494104
This configuration key allows you to specify where the documentation server
Pierre-Yves Chibon 494104
is running (preferably in a different domain name entirely).
Pierre-Yves Chibon 494104
If not set, the documentation page will show an error message saying that
Pierre-Yves Chibon 494104
this pagure instance does not have a documentation server.
Pierre-Yves Chibon 494104
Pierre-Yves Chibon 494104
Defaults to: ``None``
Pierre-Yves Chibon 494104
Farhaan Bukhsh bef1a5
PRIVATE_PROJECTS
Farhaan Bukhsh bef1a5
~~~~~~~~~~~~~~~~
Farhaan Bukhsh bef1a5
Farhaan Bukhsh bef1a5
This configuration key allows you to host private repositories. These
Farhaan Bukhsh bef1a5
repositories are visible only to the creator of the repository and to the
Farhaan Bukhsh 8267d1
users who are given access to the repository. No information is leaked about the
Farhaan Bukhsh bef1a5
private repository which means redis doesn't have the access to the repository
Farhaan Bukhsh bef1a5
and even fedmsg doesn't get any notifications.
Farhaan Bukhsh bef1a5
Farhaan Bukhsh bef1a5
Defaults to: ``False``
Farhaan Bukhsh bef1a5
Pierre-Yves Chibon 494104
Pierre-Yves Chibon 0f5019
EXCLUDE_GROUP_INDEX
Pierre-Yves Chibon 0f5019
~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 0f5019
Pierre-Yves Chibon 0f5019
This configuration key can be used to hide project an user has access to via
Pierre-Yves Chibon 0f5019
one of the groups listed in this key.
Pierre-Yves Chibon 0f5019
Pierre-Yves Chibon 0f5019
The use-case is the following: the Fedora project is deploying pagure has a
Pierre-Yves Chibon 0f5019
front-end for the git repos of the packages in the distribution, that means
Pierre-Yves Chibon 0f5019
about 17,000 git repositories in pagure. The project has a group of people
Pierre-Yves Chibon 0f5019
that have access to all of these repositories, so when viewing the user's
René Genz 520020
page of one member of that group, instead of seeing all the project that
Pierre-Yves Chibon 0f5019
this user works on, you can see all the projects hosted in that pagure
Pierre-Yves Chibon 0f5019
instance. Using this configuration key, pagure will hide all the projects
Pierre-Yves Chibon 0f5019
that this user has access to via the specified groups and thus return only
Pierre-Yves Chibon 0f5019
the groups of forks of that users.
Pierre-Yves Chibon 0f5019
Pierre-Yves Chibon 0f5019
Defaults to: ``[]``
Pierre-Yves Chibon 0f5019
Pierre-Yves Chibon d1b9a3
Pierre-Yves Chibon 6706a2
TRIGGER_CI
Pierre-Yves Chibon 6706a2
~~~~~~~~~~
Pierre-Yves Chibon 6706a2
Pierre-Yves Chibon 6706a2
A run of pagure-ci can be manually triggered if some key sentences are added
Pierre-Yves Chibon 6706a2
as comment to a pull-request. This allows to re-run a test that failed due
Pierre-Yves Chibon 6706a2
to some network outage or other unexpected issues unrelated to the test
Pierre-Yves Chibon 6706a2
suite.
Pierre-Yves Chibon 6706a2
Pierre-Yves Chibon 6706a2
This configuration key allows to define all the sentences that can be used
Pierre-Yves Chibon 6706a2
to trigger this pagure-ci run.
Pierre-Yves Chibon 6706a2
Pierre-Yves Chibon 6706a2
Defaults to: ``['pretty please pagure-ci rebuild']``
Pierre-Yves Chibon 6706a2
Pierre-Yves Chibon 6706a2
.. note:: The sentences defined in this configuration key should be lower
Pierre-Yves Chibon 6706a2
          case only!
Pierre-Yves Chibon 6706a2
Pierre-Yves Chibon 6706a2
Pierre-Yves Chibon a1fca3
EXTERNAL_COMMITTER
Pierre-Yves Chibon a1fca3
~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon a1fca3
The external committer feature is a way to allow members of groups defined
Pierre-Yves Chibon a1fca3
outside pagure (and provided to pagure upon login by the authentication
Pierre-Yves Chibon a1fca3
system) to be consider committers on pagure.
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon a1fca3
This feature can give access to all the projects on the instance, all but
Pierre-Yves Chibon a1fca3
some or just some.
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon a1fca3
Defaults to: ``{}``
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon a1fca3
To give access to all the projects to a group named ``fedora-altarch`` use
Pierre-Yves Chibon a1fca3
a such a structure::
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon a1fca3
    EXTERNAL_COMMITTER = {
Pierre-Yves Chibon a1fca3
        'fedora-altarch': {}
Pierre-Yves Chibon a1fca3
    }
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon a1fca3
To give access to all the projects but one (named ``rpms/test``) to a group
Pierre-Yves Chibon a1fca3
named ``provenpackager`` use a such a structure::
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon a1fca3
    EXTERNAL_COMMITTER = {
Pierre-Yves Chibon a1fca3
        'fedora-altarch': {},
Pierre-Yves Chibon a1fca3
        'provenpackager': {
Pierre-Yves Chibon a1fca3
            'exclude': ['rpms/test']
Pierre-Yves Chibon a1fca3
        }
Pierre-Yves Chibon a1fca3
    }
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon a1fca3
To give access to just some projects (named ``rpms/test`` and
Pierre-Yves Chibon a1fca3
``modules/test``) to a group named ``testers`` use a such a structure::
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon a1fca3
    EXTERNAL_COMMITTER = {
Pierre-Yves Chibon a1fca3
        'fedora-altarch': {},
Pierre-Yves Chibon a1fca3
        'provenpackager': {
Pierre-Yves Chibon a1fca3
            'exclude': ['rpms/test']
Pierre-Yves Chibon a1fca3
        },
Pierre-Yves Chibon a1fca3
        'testers': {
Pierre-Yves Chibon a1fca3
            'restrict': ['rpms/test', 'modules/test']
Pierre-Yves Chibon a1fca3
        }
Pierre-Yves Chibon a1fca3
    }
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon 77edd1
REQUIRED_GROUPS
Pierre-Yves Chibon 77edd1
~~~~~~~~~~~~~~~
Pierre-Yves Chibon e1d70f
Pierre-Yves Chibon e1d70f
The required groups allows to specify in which group an user must be to be
Pierre-Yves Chibon e1d70f
added to a project with commit or admin access.
Pierre-Yves Chibon e1d70f
Pierre-Yves Chibon e1d70f
Defaults to: ``{}``
Pierre-Yves Chibon e1d70f
Pierre-Yves Chibon e1d70f
Example configuration::
Pierre-Yves Chibon e1d70f
Pierre-Yves Chibon e1d70f
    REQUIRED_GROUPS = {
Pierre-Yves Chibon e1d70f
        'rpms/kernel': ['packager', 'kernel-team'],
Pierre-Yves Chibon e1d70f
        'modules/*': ['module-packager', 'packager'],
Pierre-Yves Chibon e1d70f
        'rpms/*': ['packager'],
Pierre-Yves Chibon e1d70f
        '*': ['contributor'],
Pierre-Yves Chibon e1d70f
    }
Pierre-Yves Chibon e1d70f
Pierre-Yves Chibon e1d70f
With this configuration (evaluated in the provided order):
Pierre-Yves Chibon e1d70f
Pierre-Yves Chibon e1d70f
* only users that are in the groups ``packager`` and ``kernel-team`` will be
Pierre-Yves Chibon e1d70f
  allowed to be added the ``rpms/kernel`` project (where ``rpms`` is the
Pierre-Yves Chibon e1d70f
  namespace and ``kernel`` the project name).
Pierre-Yves Chibon e1d70f
Pierre-Yves Chibon e1d70f
* only users that are in the groups ``module-packager`` and ``packager``
Pierre-Yves Chibon e1d70f
  will be allowed to be added to projects in the ``modules`` namespace.
Pierre-Yves Chibon e1d70f
Pierre-Yves Chibon e1d70f
* only users that are in the group ``packager`` will be allowed to be added
Pierre-Yves Chibon e1d70f
  to projects in the ``rpms`` namespace.
Pierre-Yves Chibon e1d70f
Pierre-Yves Chibon e1d70f
* only users in the ``contributor`` group will be allowed to be added to
Pierre-Yves Chibon e1d70f
  any project on this pagure instance.
Pierre-Yves Chibon a1fca3
Pierre-Yves Chibon d1fe6f
GITOLITE_PRE_CONFIG
Pierre-Yves Chibon d1fe6f
~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon d1fe6f
Pierre-Yves Chibon d1fe6f
This configuration key allows you to include some content at the *top* of
Pierre-Yves Chibon d1fe6f
the gitolite configuration file (such as some specific group definition),
Pierre-Yves Chibon d1fe6f
thus allowing to customize the gitolite configuration file with elements
Pierre-Yves Chibon d1fe6f
and information that are outside of pagure's control.
Pierre-Yves Chibon d1fe6f
Pierre-Yves Chibon d1fe6f
This can be used in combination with ``GITOLITE_POST_CONFIG`` to further
Pierre-Yves Chibon d1fe6f
customize gitolite's configuration file. It can also be used with
Pierre-Yves Chibon d1fe6f
``EXTERNAL_COMMITTER`` to give commit access to git repos based on external
Pierre-Yves Chibon d1fe6f
information.
Pierre-Yves Chibon d1fe6f
Pierre-Yves Chibon d1fe6f
Defaults to: ``None``
Pierre-Yves Chibon d1fe6f
Pierre-Yves Chibon d1fe6f
Pierre-Yves Chibon d1fe6f
GITOLITE_POST_CONFIG
Pierre-Yves Chibon 45a893
~~~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon d1fe6f
Pierre-Yves Chibon d1fe6f
This configuration key allows you to include some content at the *end* of
Pierre-Yves Chibon d1fe6f
the gitolite configuration file (such as some project definition or access),
Pierre-Yves Chibon d1fe6f
thus allowing to customize the gitolite configuration file with elements
Pierre-Yves Chibon d1fe6f
and information that are outside of pagure's control.
Pierre-Yves Chibon d1fe6f
Pierre-Yves Chibon d1fe6f
This can be used in combination with ``GITOLITE_PRE_CONFIG`` to further
Pierre-Yves Chibon d1fe6f
customize gitolite's configuration file. It can also be used with
Pierre-Yves Chibon d1fe6f
``EXTERNAL_COMMITTER`` to give commit access to git repos based on external
Pierre-Yves Chibon d1fe6f
information.
Pierre-Yves Chibon d1fe6f
Pierre-Yves Chibon d1fe6f
Defaults to: ``None``
Pierre-Yves Chibon d1fe6f
Pierre-Yves Chibon 6706a2
Pierre-Yves Chibon 77edd1
CELERY_CONFIG
Pierre-Yves Chibon 77edd1
~~~~~~~~~~~~~
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 77edd1
This configuration key allows you to tweak the configuration of celery for
Pierre-Yves Chibon 77edd1
your needs.
Pierre-Yves Chibon 77edd1
See the documentation about `celery configuration
Pierre-Yves Chibon 77edd1
<http: configuration.html="" docs.celeryproject.org="" en="" latest="" userguide="">`_ for</http:>
Pierre-Yves Chibon 77edd1
more information.
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 77edd1
Defaults to: ``{}``
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon 77edd1
Pierre-Yves Chibon a1cde7
HTML_TITLE
Pierre-Yves Chibon a1cde7
~~~~~~~~~~
Pierre-Yves Chibon a1cde7
Pierre-Yves Chibon a1cde7
This configuration key allows you to customize the HTML title of all the
Pierre-Yves Chibon a1cde7
pages, from ``... - pagure`` (default) to ``... - <your value="">``.</your>
Pierre-Yves Chibon a1cde7
Pierre-Yves Chibon a1cde7
Defaults to: ``Pagure``
Pierre-Yves Chibon a1cde7
Pierre-Yves Chibon a1cde7
Pierre-Yves Chibon edbdc9
CASE_SENSITIVE
Pierre-Yves Chibon edbdc9
~~~~~~~~~~~~~~
Pierre-Yves Chibon edbdc9
Pierre-Yves Chibon edbdc9
This configuration key allows to make this pagure instance case sensitive
Pierre-Yves Chibon edbdc9
instead of its default: case-insensitive.
Pierre-Yves Chibon edbdc9
Pierre-Yves Chibon edbdc9
Defaults to: ``False``
Pierre-Yves Chibon edbdc9
Pierre-Yves Chibon edbdc9
Pierre-Yves Chibon dc53a9
PROJECT_NAME_REGEX
Pierre-Yves Chibon dc53a9
~~~~~~~~~~~~~~~~~~
Pierre-Yves Chibon dc53a9
Pierre-Yves Chibon dc53a9
This configuration key allows to customize the regular expression used to
Pierre-Yves Chibon dc53a9
validate new project name.
Pierre-Yves Chibon dc53a9
Pierre-Yves Chibon dc53a9
Defaults to: ``^[a-zA-z0-9_][a-zA-Z0-9-_]*$``
Pierre-Yves Chibon dc53a9
Pierre-Yves Chibon dc53a9
Pierre-Yves Chibon 978bbf
Deprecated configuration keys
Pierre-Yves Chibon 978bbf
-----------------------------
Pierre-Yves Chibon 978bbf
Pierre-Yves Chibon 74b49b
FORK_FOLDER
Pierre-Yves Chibon 74b49b
~~~~~~~~~~~
Pierre-Yves Chibon 74b49b
Pierre-Yves Chibon 74b49b
This configuration key used to be use to specify the folder where the forks
Pierre-Yves Chibon 74b49b
are placed. Since the release 2.0 of pagure, it has been deprecated, forks
Pierre-Yves Chibon 74b49b
are now automatically placed in a sub-folder of the folder containing the
Pierre-Yves Chibon 74b49b
mains git repositories (ie ``GIT_FOLDER``).
Pierre-Yves Chibon 74b49b
Pierre-Yves Chibon 74b49b
See the ``UPGRADING.rst`` file for more information about this change and
Pierre-Yves Chibon 74b49b
how to handle it.
Pierre-Yves Chibon 74b49b
Pierre-Yves Chibon 74b49b
Pierre-Yves Chibon 978bbf
UPLOAD_FOLDER
Pierre-Yves Chibon 978bbf
~~~~~~~~~~~~~
Pierre-Yves Chibon 978bbf
Pierre-Yves Chibon 978bbf
This configuration key used to be use to specify where the uploaded releases
Pierre-Yves Chibon 978bbf
are available. It has been replaced by `UPLOAD_FOLDER_PATH` in the release
Pierre-Yves Chibon 978bbf
2.10 of pagure.
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
GITOLITE_VERSION
Pierre-Yves Chibon 145998
~~~~~~~~~~~~~~~~
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
This configuration key specifies which version of gitolite you are
Pierre-Yves Chibon 145998
using, it can be either ``2`` or ``3``.
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
Defaults to: ``3``.
Pierre-Yves Chibon 145998
Pierre-Yves Chibon 145998
This has been replaced by `GITOLITE_BACKEND` in the release 3.0 of pagure.