arc/docs/dist-git-move/pagure.rst
Michal Konecny c32a2c64a6 Fix small errors in dist-git investigation
Found some small issues and typos in investigation.

Remove the link to fedora-scm-requests as this guide is not used anymore.
2023-11-22 15:28:35 +00:00

62 lines
2.3 KiB
ReStructuredText

.. _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