|
Pierre-Yves Chibon |
e68ff3 |
Overview
|
|
Pierre-Yves Chibon |
e68ff3 |
========
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
18e5d3 |
Pagure is split over multiple components, each having their purpose and all
|
|
Pierre-Yves Chibon |
e68ff3 |
but one (the core application) being optional.
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
These components are:
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
.. contents::
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
Pagure core application
|
|
Pierre-Yves Chibon |
e68ff3 |
-----------------------
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
The core application is the flask application interacting with gitolite to
|
|
Pierre-Yves Chibon |
18e5d3 |
provide a web UI to the git repositories as well as tickets and pull-requests.
|
|
Pierre-Yves Chibon |
e68ff3 |
This is the main application for the forge.
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
Pagure doc server
|
|
Pierre-Yves Chibon |
e68ff3 |
-----------------
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
While integrated into the main application at first, it has been split out
|
|
Pierre-Yves Chibon |
e68ff3 |
for security concern, displaying information directly provided by the user
|
|
Pierre-Yves Chibon |
e68ff3 |
without a clear/safe way of filtering for un-safe script or hacks is a
|
|
Pierre-Yves Chibon |
e68ff3 |
security hole.
|
|
Pierre-Yves Chibon |
e68ff3 |
For this reason we also strongly encourage anyone wanting to deploy their
|
|
Pierre-Yves Chibon |
18e5d3 |
own instance of pagure with the doc server, to run this application on a
|
|
Pierre-Yves Chibon |
e68ff3 |
completely different domain name (not just a sub-domain) in order to reduce
|
|
Pierre-Yves Chibon |
e68ff3 |
the cross-site forgery risks.
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
Pagure can be run just fine without the doc server, all you need to do is to
|
|
Pierre-Yves Chibon |
e68ff3 |
**not** define the variable ``DOC_APP_URL`` in the configuration file.
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
Pagure milter
|
|
Pierre-Yves Chibon |
e68ff3 |
-------------
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
The milter is a script, receiving an email as input and performing an action
|
|
Pierre-Yves Chibon |
e68ff3 |
with it.
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
In the case of pagure, the milter is used to allow replying on a comment
|
|
Pierre-Yves Chibon |
e68ff3 |
of a ticket or a pull-request by directly replying to the notification sent.
|
|
Pierre-Yves Chibon |
e68ff3 |
No need to go to the page anymore to reply to a comment someone made.
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
fab115 |
The milter integrates with a MTA such as postfix or sendmail that you will
|
|
Pierre-Yves Chibon |
fab115 |
have running and have access to in order to change its configuration.
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
Pagure EventSource Server
|
|
Pierre-Yves Chibon |
e68ff3 |
-------------------------
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
Eventsource or Server Sent Events are messages sent from a server to a browser.
|
|
Pierre-Yves Chibon |
e68ff3 |
|
|
Pierre-Yves Chibon |
e68ff3 |
For pagure this technology is used to allow live-refreshing of a page when
|
|
Pierre-Yves Chibon |
e68ff3 |
someone is viewing it. For example, while you are reading a ticket if someone
|
|
Pierre-Yves Chibon |
e68ff3 |
comments on it, the comment will automatically show up on the page without
|
|
Pierre-Yves Chibon |
e68ff3 |
the need for you to reload the entire page.
|