Add pagure investigation document to dist-git investigation

This adds Pagure related investigation to dist git decoupling ARC investigation.

Signed-off-by: Michal Konecny <mkonecny@redhat.com>
This commit is contained in:
Michal Konecny 2023-11-07 17:06:32 +01:00 committed by zlopez
parent 6dbbebfd45
commit 9b70da1be7
2 changed files with 66 additions and 0 deletions

View file

@ -49,6 +49,7 @@ Index
fedpkg
hotness
notifications
pagure
toddlers
messaging

View file

@ -0,0 +1,65 @@
.. _pagure:
Pagure Dist Git Interactions With Pagure
====
`Pagure <https://pagure.io/pagure>`_ is the git forge on which dist git is currently
based on. The dist git is a plugin for Pagure and it shares plenty of functionality with it.
Possible Interactions
----
There aren't any interactions between Pagure and dist git in Fedora at all, but the
dist git is running on top of pagure.
As dist git is a plugin for Pagure, in this investigation only the dist git specific parts
will be mentioned.
Theme
^^^^
- The pagure contains the `theme <https://pagure.io/pagure/blob/master/f/pagure/themes/srcfpo>`_
for dist git
Backend
^^^^
- Dist-git is using the `Pagure API <https://pagure.io/pagure/blob/master/f/pagure/api>`_
with few added endpoint, which could be recognized by having ``_dg/`` in URL
- Dist-git is using the same
`messaging scheme as pagure <https://github.com/Pagure/pagure-messages>`_
- Dist-git is using
`FAS integration <https://pagure.io/pagure/blob/master/f/pagure/ui/oidc_login.py>`_
from Pagure
- Dist-git is using
`ACL implementation <https://pagure.io/pagure/blob/master/f/pagure/lib/git_auth.py>`_
from pagure
UI
^^^^
- Dist-git is using
`Option to give repository <https://pagure.io/pagure/blob/master/f/pagure/ui/repo.py#_3171>`_
from pagure
- Issues are just link to bugzilla tracker for the repository in bugzilla dist-git
- Monitoring status setting (backend implemented in
`dist-git <https://pagure.io/pagure-dist-git/blob/master/f/pagure_distgit/plugin.py>`_)
- Orphaning and taking orphaned projects(backend implemented in
`dist-git <https://pagure.io/pagure-dist-git/blob/master/f/pagure_distgit/plugin.py>`_)
- Links to koji, bodhi, bugzilla, packages and koschei
Changes proposed
----
In order to switch out Pagure Dist Git for an alternative that provides a
relatively compatible API pattern, the following changes must be made in the
places mentioned below.
Necessary
^^^^
- The separate messaging schema needs to be created for dist git
- API needs to be separated from the pagure API
- ACL implementation needs to use the new chosen git forge implementation
- FAS integration needs to be re-implemented
- The pagure theme needs to be separated from pagure repository