fix parsing errors and sphinx warnings
Signed-off-by: Ryan Lerch <rlerch@redhat.com>
This commit is contained in:
parent
8fb9b2fdf0
commit
ba720c3d77
98 changed files with 4799 additions and 4788 deletions
|
@ -1,43 +1,45 @@
|
|||
.. _bodhi:
|
||||
|
||||
Pagure Dist Git Interactions With Bodhi
|
||||
====
|
||||
=======================================
|
||||
|
||||
`Bodhi <https://bodhi.fedoraproject.org>`_ is a service
|
||||
that handles package updates in Fedora Linux. It works as a gating system for
|
||||
Fedora updates and allows users to test the updates before being published in
|
||||
distribution.
|
||||
`Bodhi <https://bodhi.fedoraproject.org>`__ is a service that handles package updates in
|
||||
Fedora Linux. It works as a gating system for Fedora updates and allows users to test
|
||||
the updates before being published in distribution.
|
||||
|
||||
Possible Interactions
|
||||
----
|
||||
---------------------
|
||||
|
||||
The following are a set of documented interactions possible between Pagure Dist
|
||||
Git and Bodhi.
|
||||
The following are a set of documented interactions possible between Pagure Dist Git and
|
||||
Bodhi.
|
||||
|
||||
Configuration
|
||||
^^^^
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
- The configuration in Bodhi uses ``pagure_url`` for dist git, default is
|
||||
defined in
|
||||
`config.py <https://github.com/fedora-infra/bodhi/blob/develop/bodhi-server/bodhi/server/config.py>`_
|
||||
- The configuration in Bodhi uses ``pagure_url`` for dist git, default is defined in
|
||||
`config.py
|
||||
<https://github.com/fedora-infra/bodhi/blob/develop/bodhi-server/bodhi/server/config.py>`_
|
||||
|
||||
API
|
||||
^^^^
|
||||
~~~
|
||||
|
||||
- Bodhi calls following API endpoints:
|
||||
|
||||
* ``/api/0/<namespace>/<package_name>`` to get information about contributors for the package
|
||||
* ``/api/0/<namespace>/<package_name>/hascommit`` to check if user has commit access to package
|
||||
- ``/api/0/<namespace>/<package_name>`` to get information about contributors for the
|
||||
package
|
||||
- ``/api/0/<namespace>/<package_name>/hascommit`` to check if user has commit access
|
||||
to package
|
||||
|
||||
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.
|
||||
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
|
||||
^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
- If URL for dist git is change it will need to be reflected in
|
||||
`deployment configuration <https://pagure.io/fedora-infra/ansible/blob/main/f/roles/bodhi2/base/templates/production.ini.j2>`_
|
||||
- If URL for dist git is change it will need to be reflected in `deployment
|
||||
configuration
|
||||
<https://pagure.io/fedora-infra/ansible/blob/main/f/roles/bodhi2/base/templates/production.ini.j2>`_
|
||||
|
|
|
@ -1,69 +1,68 @@
|
|||
.. _ci:
|
||||
|
||||
Pagure Dist Git Interactions With Fedora CI
|
||||
====
|
||||
===========================================
|
||||
|
||||
`Fedora CI <https://docs.fedoraproject.org/en-US/ci/>`_ is a service
|
||||
that handles Continuous Integration of packages in Fedora project.
|
||||
As that it interacts with dist-git.
|
||||
Fedora CI consists of multiple services:
|
||||
`Fedora CI <https://docs.fedoraproject.org/en-US/ci/>`_ is a service that handles
|
||||
Continuous Integration of packages in Fedora project. As that it interacts with
|
||||
dist-git. Fedora CI consists of multiple services:
|
||||
|
||||
- Jenkins - Fedora hosted instance that runs the tests
|
||||
- `Greenwave <https://pagure.io/greenwave>`_ - service to evaluate
|
||||
gating policies on test results
|
||||
- `ResultsDB <https://pagure.io/taskotron/resultsdb>`_ - stores
|
||||
results of the tests
|
||||
- `WaiverDB <https://pagure.io/waiverdb>`_ - service for recording
|
||||
waivers against test results
|
||||
- `Greenwave <https://pagure.io/greenwave>`__ - service to evaluate gating policies on
|
||||
test results
|
||||
- `ResultsDB <https://pagure.io/taskotron/resultsdb>`_ - stores results of the tests
|
||||
- `WaiverDB <https://pagure.io/waiverdb>`_ - service for recording waivers against test
|
||||
results
|
||||
|
||||
Possible Interactions
|
||||
----
|
||||
---------------------
|
||||
|
||||
The following are a set of documented interactions possible between Pagure Dist
|
||||
Git and Fedora CI.
|
||||
The following are a set of documented interactions possible between Pagure Dist Git and
|
||||
Fedora CI.
|
||||
|
||||
Rawhide gating
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
- To configure rawhide gating rules for Greenwave user needs to add ``gating.yaml`` file
|
||||
to package repository
|
||||
|
||||
Notification about results
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Notification about CI results is done by creating flags using API calls:
|
||||
|
||||
* ``/api/0/<package_name>/pull-request/<pr_id>/flag``
|
||||
* ``/api/0/<package_name>/c/<commit_id>/flag``
|
||||
- ``/api/0/<package_name>/pull-request/<pr_id>/flag``
|
||||
- ``/api/0/<package_name>/c/<commit_id>/flag``
|
||||
|
||||
Those flags are then visible on the corresponding commit or pull request.
|
||||
|
||||
Triggering tests on pull requests
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- The automatic trigger of CI when creating pull request is done by emitting
|
||||
message topic ``pull-request.new`` and it's consumed by Jenkins
|
||||
- The automatic trigger of CI when creating pull request is done by emitting message
|
||||
topic ``pull-request.new`` and it's consumed by Jenkins
|
||||
|
||||
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.
|
||||
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
|
||||
^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
- If URL for dist git is change it will need to be reflected in each component
|
||||
that is part of Fedora CI and directly interacts with dist-git:
|
||||
- If URL for dist git is change it will need to be reflected in each component that is
|
||||
part of Fedora CI and directly interacts with dist-git:
|
||||
|
||||
* `Greenwave <https://pagure.io/fedora-infra/ansible/blob/main/f/roles/openshift-apps/greenwave/templates/settings.py>`_ -
|
||||
HTTP get request to the repository to check the ``gating.yaml``
|
||||
- `Greenwave
|
||||
<https://pagure.io/fedora-infra/ansible/blob/main/f/roles/openshift-apps/greenwave/templates/settings.py>`__
|
||||
- HTTP get request to the repository to check the ``gating.yaml``
|
||||
|
||||
Unnecessary
|
||||
^^^^
|
||||
~~~~~~~~~~~
|
||||
|
||||
- In case message schema will change we would need to update the topics that
|
||||
are consumed by Fedora CI. The
|
||||
`configuration <https://github.com/fedora-ci/dist-git-build-trigger/blob/pull-request.new/Jenkinsfile>`_
|
||||
- In case message schema will change we would need to update the topics that are
|
||||
consumed by Fedora CI. The `configuration
|
||||
<https://github.com/fedora-ci/dist-git-build-trigger/blob/pull-request.new/Jenkinsfile>`_
|
||||
for Jenkins is here.
|
||||
|
|
|
@ -1,66 +1,68 @@
|
|||
.. _copr:
|
||||
|
||||
Pagure Dist Git Interactions With COPR
|
||||
====
|
||||
======================================
|
||||
|
||||
`Copr <https://copr.fedorainfracloud.org/>`_ ("Community projects") is a service
|
||||
that builds your open-source projects and creates your own RPM repositories.
|
||||
`Copr <https://copr.fedorainfracloud.org/>`__ ("Community projects") is a service that
|
||||
builds your open-source projects and creates your own RPM repositories.
|
||||
|
||||
Possible Interactions
|
||||
----
|
||||
---------------------
|
||||
|
||||
The following are a set of documented interactions possible between Pagure Dist
|
||||
Git and COPR.
|
||||
The following are a set of documented interactions possible between Pagure Dist Git and
|
||||
COPR.
|
||||
|
||||
Builds logic
|
||||
^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- COPR is using API calls for flagging dist-git commits or pull requests in
|
||||
`build_logic.py module <https://github.com/fedora-copr/copr/blob/2789f06b36be5c13eae83c8695eb36de03a7728f/frontend/coprs_frontend/coprs/logic/builds_logic.py#L1101-L1109>`_.
|
||||
`build_logic.py module
|
||||
<https://github.com/fedora-copr/copr/blob/2789f06b36be5c13eae83c8695eb36de03a7728f/frontend/coprs_frontend/coprs/logic/builds_logic.py#L1101-L1109>`_.
|
||||
It is calling ``/api/0/<package_name>/pull-request/<pr_id>/flag`` and
|
||||
``/api/0/<package_name>/c/<commit_id>/flag`` API endpoints.
|
||||
|
||||
CLI client
|
||||
^^^^
|
||||
~~~~~~~~~~
|
||||
|
||||
- COPR is doing ``git clone`` from dist-git, which is wrapped in
|
||||
``copr-distgit-client clone --dist-git fedora <pkgname>``.
|
||||
- COPR is doing ``git clone`` from dist-git, which is wrapped in ``copr-distgit-client
|
||||
clone --dist-git fedora <pkgname>``.
|
||||
|
||||
Fedora messaging
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- COPR is listening to following dist-git topics:
|
||||
|
||||
* ``org.fedoraproject.prod.pagure.git.receive``
|
||||
* ``org.fedoraproject.prod.pagure.pull-request.new``
|
||||
* ``org.fedoraproject.prod.pagure.pull-request.rebased``
|
||||
* ``org.fedoraproject.prod.pagure.pull-request.updated``
|
||||
* ``org.fedoraproject.prod.pagure.pull-request.comment.added``
|
||||
- ``org.fedoraproject.prod.pagure.git.receive``
|
||||
- ``org.fedoraproject.prod.pagure.pull-request.new``
|
||||
- ``org.fedoraproject.prod.pagure.pull-request.rebased``
|
||||
- ``org.fedoraproject.prod.pagure.pull-request.updated``
|
||||
- ``org.fedoraproject.prod.pagure.pull-request.comment.added``
|
||||
|
||||
- These topics are configured in
|
||||
`frontend messaging configuration <https://pagure.io/fedora-infra/ansible/blob/main/f/roles/copr/frontend/templates/fedora-messaging/copr_messaging.toml>`_.
|
||||
- These topics are configured in `frontend messaging configuration
|
||||
<https://pagure.io/fedora-infra/ansible/blob/main/f/roles/copr/frontend/templates/fedora-messaging/copr_messaging.toml>`_.
|
||||
|
||||
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.
|
||||
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
|
||||
^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
- There are few configuration files that points to current dist-git. If the
|
||||
URL should change we would need to update
|
||||
`rpkg.conf <https://pagure.io/fedora-infra/ansible/blob/main/f/roles/copr/backend/templates/provision/rpkg.conf.j2>`_
|
||||
and
|
||||
`main.ini <https://pagure.io/fedora-infra/ansible/blob/main/f/roles/copr/backend/templates/provision/copr-rpmbuild/main.ini.j2>`_
|
||||
- There are few configuration files that points to current dist-git. If the URL should
|
||||
change we would need to update `rpkg.conf
|
||||
<https://pagure.io/fedora-infra/ansible/blob/main/f/roles/copr/backend/templates/provision/rpkg.conf.j2>`_
|
||||
and `main.ini
|
||||
<https://pagure.io/fedora-infra/ansible/blob/main/f/roles/copr/backend/templates/provision/copr-rpmbuild/main.ini.j2>`_
|
||||
with the URL to new service.
|
||||
- In case the message schema of the new dist-git will change we need to update consumed topics in
|
||||
`frontend messaging configuration <https://pagure.io/fedora-infra/ansible/blob/main/f/roles/copr/frontend/templates/fedora-messaging/copr_messaging.toml>`_.
|
||||
- In case the message schema of the new dist-git will change we need to update consumed
|
||||
topics in `frontend messaging configuration
|
||||
<https://pagure.io/fedora-infra/ansible/blob/main/f/roles/copr/frontend/templates/fedora-messaging/copr_messaging.toml>`_.
|
||||
|
||||
Unnecessary
|
||||
^^^^
|
||||
~~~~~~~~~~~
|
||||
|
||||
- There isn't much interactions between Fedora dist-git and COPR and no change
|
||||
is needed that would be unnecessary to do in case dist-git will change.
|
||||
- There isn't much interactions between Fedora dist-git and COPR and no change is needed
|
||||
that would be unnecessary to do in case dist-git will change.
|
||||
|
|
|
@ -1,55 +1,55 @@
|
|||
.. _fedpkg:
|
||||
|
||||
Pagure Dist Git Interactions With fedpkg
|
||||
====
|
||||
========================================
|
||||
|
||||
`Fedpkg <https://pagure.io/fedpkg>`_ is a CLI tool for packagers that allows
|
||||
them to work with packages in Fedora package workflow.
|
||||
`Fedpkg <https://pagure.io/fedpkg>`__ is a CLI tool for packagers that allows them to
|
||||
work with packages in Fedora package workflow.
|
||||
|
||||
Possible Interactions
|
||||
----
|
||||
---------------------
|
||||
|
||||
The following are a set of documented interactions possible between Pagure Dist
|
||||
Git and fedpkg.
|
||||
The following are a set of documented interactions possible between Pagure Dist Git and
|
||||
fedpkg.
|
||||
|
||||
Lookaside cache
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
- fedpkg is using lookaside cache that is located on same server as dist git
|
||||
https://src.fedoraproject.org/repo/pkgs
|
||||
|
||||
API calls
|
||||
^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
- Fedpkg is calling dist git API endpoint ``api/0/fork`` when creating fork of
|
||||
the project.
|
||||
- Fedpkg is calling dist git API endpoint ``_db/anitya/<namespace>/<package_name>``
|
||||
for disabling monitoring for repository.
|
||||
- Fedpkg is calling dist git API endpoint ``api/0/fork`` when creating fork of the
|
||||
project.
|
||||
- Fedpkg is calling dist git API endpoint ``_db/anitya/<namespace>/<package_name>`` for
|
||||
disabling monitoring for repository.
|
||||
|
||||
Git interactions
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- Fedpkg works with cloned dist git repositories using standard
|
||||
git commands.
|
||||
- Fedpkg works with cloned dist git repositories using standard git commands.
|
||||
|
||||
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.
|
||||
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
|
||||
^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
- In case URL will be changed default configuration distributed with
|
||||
fedpkg RPM package needs to be updated.
|
||||
- In case URL will be changed default configuration distributed with fedpkg RPM package
|
||||
needs to be updated.
|
||||
|
||||
* `fedpkg.conf <https://pagure.io/fedpkg/blob/master/f/conf/etc/rpkg/fedpkg.conf>`_
|
||||
- `fedpkg.conf <https://pagure.io/fedpkg/blob/master/f/conf/etc/rpkg/fedpkg.conf>`_
|
||||
for production fedpkg
|
||||
* `fedpkg-stage.conf <https://pagure.io/fedpkg/blob/master/f/conf/etc/rpkg/fedpkg-stage.conf>`_
|
||||
for staging fedpkg
|
||||
- `fedpkg-stage.conf
|
||||
<https://pagure.io/fedpkg/blob/master/f/conf/etc/rpkg/fedpkg-stage.conf>`_ for
|
||||
staging fedpkg
|
||||
|
||||
- The lookaside cache needs to be still available. In case the location will be different
|
||||
some changes will be needed with working the lookaside cache in fedpkg as currently it
|
||||
expects the URL is same as for dist git.
|
||||
- The lookaside cache needs to be still available. In case the location will be
|
||||
different some changes will be needed with working the lookaside cache in fedpkg as
|
||||
currently it expects the URL is same as for dist git.
|
||||
|
|
|
@ -1,49 +1,51 @@
|
|||
.. _hotness:
|
||||
|
||||
Pagure Dist Git Interactions With The New Hotness
|
||||
====
|
||||
=================================================
|
||||
|
||||
Possible Interactions
|
||||
----
|
||||
---------------------
|
||||
|
||||
The following are a set of documented interactions possible between Pagure Dist
|
||||
Git and The New Hotness.
|
||||
The following are a set of documented interactions possible between Pagure Dist Git and
|
||||
The New Hotness.
|
||||
|
||||
Validations
|
||||
^^^^
|
||||
~~~~~~~~~~~
|
||||
|
||||
- Checking the monitoring setting by calling dist-git ``_dg/anitya/rpms/<package_name>`` API in
|
||||
`pagure module <https://github.com/fedora-infra/the-new-hotness/blob/master/hotness/validators/pagure.py>`_
|
||||
- Checking the retirement status by HTTP GET request for ``dead.package`` in
|
||||
`pagure module <https://github.com/fedora-infra/the-new-hotness/blob/master/hotness/validators/pagure.py>`_
|
||||
- Checking the monitoring setting by calling dist-git ``_dg/anitya/rpms/<package_name>``
|
||||
API in `pagure module
|
||||
<https://github.com/fedora-infra/the-new-hotness/blob/master/hotness/validators/pagure.py>`_
|
||||
- Checking the retirement status by HTTP GET request for ``dead.package`` in `pagure
|
||||
module
|
||||
<https://github.com/fedora-infra/the-new-hotness/blob/master/hotness/validators/pagure.py>`_
|
||||
|
||||
Scratch builds
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
- hotness is doing the scratch builds if requested by users in
|
||||
`koji module <https://github.com/fedora-infra/the-new-hotness/blob/master/hotness/builders/koji.py#L119>`_.
|
||||
- hotness is doing the scratch builds if requested by users in `koji module
|
||||
<https://github.com/fedora-infra/the-new-hotness/blob/master/hotness/builders/koji.py#L119>`_.
|
||||
It uses standard git commands (clone, commit) when preparing the scratch build
|
||||
|
||||
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.
|
||||
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
|
||||
^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
- Change the
|
||||
`configuration <https://pagure.io/fedora-infra/ansible/blob/main/f/roles/openshift-apps/the-new-hotness/templates/config.toml>`_
|
||||
- Change the `configuration
|
||||
<https://pagure.io/fedora-infra/ansible/blob/main/f/roles/openshift-apps/the-new-hotness/templates/config.toml>`_
|
||||
to point to new dist-git instance.
|
||||
|
||||
Unnecessary
|
||||
^^^^
|
||||
~~~~~~~~~~~
|
||||
|
||||
- As hotness is mostly using just plain HTTP, git interactions with dist-git it's not necessary
|
||||
to change much. Only the monitoring settings needs to be provided somewhere.
|
||||
- Change the default value for ``dist_git_url`` in
|
||||
`config module <https://github.com/fedora-infra/the-new-hotness/blob/master/hotness/config.py>`_.
|
||||
As this could be set in configuration it's not necessary to do that, but it would be nice to
|
||||
change it to new git forge.
|
||||
- As hotness is mostly using just plain HTTP, git interactions with dist-git it's not
|
||||
necessary to change much. Only the monitoring settings needs to be provided somewhere.
|
||||
- Change the default value for ``dist_git_url`` in `config module
|
||||
<https://github.com/fedora-infra/the-new-hotness/blob/master/hotness/config.py>`_. As
|
||||
this could be set in configuration it's not necessary to do that, but it would be nice
|
||||
to change it to new git forge.
|
||||
|
|
|
@ -1,44 +1,48 @@
|
|||
Dist Git Move
|
||||
====
|
||||
=============
|
||||
|
||||
Purpose
|
||||
----
|
||||
-------
|
||||
|
||||
The objective of the potential initiative is to move repository contents (including but not
|
||||
limited to source codes, Packit configurations, RPM specfiles) from Pagure Dist-Git to
|
||||
another platform and confirm that the associated tooling and services (including but not limited
|
||||
to FMN, Datanommer, COPR, Toddlers, FMN, CI, Monitor-Gating, Packit, Bodhi, Fedpkg) work well with
|
||||
the newer platform. The investigation aims to be as agnostic as it can be regarding the
|
||||
destination platform to help ideate a general solution for the compatibility of the associated
|
||||
tooling and services.
|
||||
The objective of the potential initiative is to move repository contents (including but
|
||||
not limited to source codes, Packit configurations, RPM specfiles) from Pagure Dist-Git
|
||||
to another platform and confirm that the associated tooling and services (including but
|
||||
not limited to FMN, Datanommer, COPR, Toddlers, FMN, CI, Monitor-Gating, Packit, Bodhi,
|
||||
Fedpkg) work well with the newer platform. The investigation aims to be as agnostic as
|
||||
it can be regarding the destination platform to help ideate a general solution for the
|
||||
compatibility of the associated tooling and services.
|
||||
|
||||
Background
|
||||
----
|
||||
----------
|
||||
|
||||
With Pagure's development having less activity for a while now, we need to ensure that the
|
||||
workflow changes are documented associated tooling and services are changed to continue working
|
||||
the way they did when Pagure Dist-Git is decomissioned and the repository contents are moved
|
||||
elsewhere, while confirming that we are not locked down to the features that are specific to the
|
||||
chosen destination platform.
|
||||
With Pagure's development having less activity for a while now, we need to ensure that
|
||||
the workflow changes are documented associated tooling and services are changed to
|
||||
continue working the way they did when Pagure Dist-Git is decomissioned and the
|
||||
repository contents are moved elsewhere, while confirming that we are not locked down to
|
||||
the features that are specific to the chosen destination platform.
|
||||
|
||||
Requirements
|
||||
----
|
||||
------------
|
||||
|
||||
* Study the interactions of toolings/services with Dist-Git
|
||||
* Include additions to **Datanommer** to support interactions with another platform
|
||||
* Include additions to **Fedora Notifications** to support interactions with another platform
|
||||
* Include additions to **COPR** to support interactions with another platform
|
||||
* Include additions to **Toddlers** to support interactions with another platform
|
||||
* Include additions to **Continuous Integration** to support interactions with another platform
|
||||
* Include additions to **Release Engineering** to support interactions with another platform
|
||||
* Include additions to **Monitor Gating** to support interactions with another platform
|
||||
* Include additions to **Packit** to support interactions with another platform
|
||||
* Include additions to **Bodhi** to support interactions with another platform
|
||||
* Include additions to **Pagure** to support interactions with another platform
|
||||
* Include additions to **Anitya/The New Hotness** to support interactions with another platform
|
||||
- Study the interactions of toolings/services with Dist-Git
|
||||
- Include additions to **Datanommer** to support interactions with another platform
|
||||
- Include additions to **Fedora Notifications** to support interactions with another
|
||||
platform
|
||||
- Include additions to **COPR** to support interactions with another platform
|
||||
- Include additions to **Toddlers** to support interactions with another platform
|
||||
- Include additions to **Continuous Integration** to support interactions with another
|
||||
platform
|
||||
- Include additions to **Release Engineering** to support interactions with another
|
||||
platform
|
||||
- Include additions to **Monitor Gating** to support interactions with another platform
|
||||
- Include additions to **Packit** to support interactions with another platform
|
||||
- Include additions to **Bodhi** to support interactions with another platform
|
||||
- Include additions to **Pagure** to support interactions with another platform
|
||||
- Include additions to **Anitya/The New Hotness** to support interactions with another
|
||||
platform
|
||||
|
||||
Index
|
||||
----
|
||||
-----
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
@ -56,32 +60,33 @@ Index
|
|||
releng
|
||||
|
||||
Conclusions
|
||||
----
|
||||
-----------
|
||||
|
||||
We are concluding that we would be filling this section with a placeholder for now. The best
|
||||
one in the placeholder business is called Lorem Ipsum. Lorem Ipsum is simply dummy text of the
|
||||
printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever
|
||||
since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type
|
||||
specimen book. It has survived not only five centuries, but also the leap into electronic
|
||||
typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release
|
||||
of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing
|
||||
software like Aldus PageMaker including versions of Lorem Ipsum.
|
||||
We are concluding that we would be filling this section with a placeholder for now. The
|
||||
best one in the placeholder business is called Lorem Ipsum. Lorem Ipsum is simply dummy
|
||||
text of the printing and typesetting industry. Lorem Ipsum has been the industry's
|
||||
standard dummy text ever since the 1500s, when an unknown printer took a galley of type
|
||||
and scrambled it to make a type specimen book. It has survived not only five centuries,
|
||||
but also the leap into electronic typesetting, remaining essentially unchanged. It was
|
||||
popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum
|
||||
passages, and more recently with desktop publishing software like Aldus PageMaker
|
||||
including versions of Lorem Ipsum.
|
||||
|
||||
Roadmap
|
||||
----
|
||||
-------
|
||||
|
||||
- **Step 1** - Start doing something
|
||||
- **Step 2** - Continue doing something
|
||||
- **Step 3** - Stop doing something
|
||||
|
||||
Efforts
|
||||
---
|
||||
-------
|
||||
|
||||
We are estimating nothing at the moment so here is some more of that Lorem Ipsum text that you
|
||||
all know and love. Lorem Ipsum is simply dummy text of the printing and typesetting industry.
|
||||
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown
|
||||
printer took a galley of type and scrambled it to make a type specimen book. It has survived not
|
||||
only five centuries, but also the leap into electronic typesetting, remaining essentially
|
||||
unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem
|
||||
Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including
|
||||
versions of Lorem Ipsum.
|
||||
We are estimating nothing at the moment so here is some more of that Lorem Ipsum text
|
||||
that you all know and love. Lorem Ipsum is simply dummy text of the printing and
|
||||
typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since
|
||||
the 1500s, when an unknown printer took a galley of type and scrambled it to make a type
|
||||
specimen book. It has survived not only five centuries, but also the leap into
|
||||
electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s
|
||||
with the release of Letraset sheets containing Lorem Ipsum passages, and more recently
|
||||
with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
|
||||
|
|
|
@ -1,478 +1,466 @@
|
|||
.. _messaging:
|
||||
|
||||
Pagure Dist Git Interactions With Fedora Messaging
|
||||
====
|
||||
==================================================
|
||||
|
||||
Fedora Messaging provides tools and APIs to make using Fedora Project's
|
||||
messaging infrastructure easier. These include a framework for declaring
|
||||
message schemas, a set of asynchronous APIs to consume messages, and services
|
||||
to easily run consumers.
|
||||
Fedora Messaging provides tools and APIs to make using Fedora Project's messaging
|
||||
infrastructure easier. These include a framework for declaring message schemas, a set of
|
||||
asynchronous APIs to consume messages, and services to easily run consumers.
|
||||
|
||||
Interaction Dependencies
|
||||
----
|
||||
------------------------
|
||||
|
||||
Fedora Messaging makes use of the following dependencies to interact with and
|
||||
understand interactions made with Pagure Dist Git.
|
||||
Fedora Messaging makes use of the following dependencies to interact with and understand
|
||||
interactions made with Pagure Dist Git.
|
||||
|
||||
Pagure Messages
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
In order for `Fedora Messaging <https://fedora-messaging.readthedocs.io/en/stable/>`_
|
||||
to comprehend the messages emitted from Pagure, it requires a helper library
|
||||
called `Pagure Messages <https://pagure.io/pagure-messages>`_. This package is
|
||||
distributed in the official Fedora Project repositories
|
||||
`here <https://src.fedoraproject.org/rpms/python-pagure-messages>`_ and on PyPI
|
||||
`here <https://pypi.org/project/pagure-messages/>`_. It is important to note
|
||||
that at the time of writing this investigation, the former seems to be in an
|
||||
unmaintained state and the last update i.e. ``v0.0.6`` was created around two
|
||||
years back. The PyPI releases are fairly up-to-date with the most recent
|
||||
release i.e. ``v1.1.0`` being created around four months back.
|
||||
In order for `Fedora Messaging <https://fedora-messaging.readthedocs.io/en/stable/>`_ to
|
||||
comprehend the messages emitted from Pagure, it requires a helper library called `Pagure
|
||||
Messages <https://pagure.io/pagure-messages>`_. This package is distributed in the
|
||||
official Fedora Project repositories `here
|
||||
<https://src.fedoraproject.org/rpms/python-pagure-messages>`__. and on PyPI `here
|
||||
<https://pypi.org/project/pagure-messages/>`__. It is important to note that at the time
|
||||
of writing this investigation, the former seems to be in an unmaintained state and the
|
||||
last update i.e. ``v0.0.6`` was created around two years back. The PyPI releases are
|
||||
fairly up-to-date with the most recent release i.e. ``v1.1.0`` being created around four
|
||||
months back.
|
||||
|
||||
Possible Interactions
|
||||
----
|
||||
---------------------
|
||||
|
||||
The following are a set of documented interactions possible between Pagure Dist
|
||||
Git and Fedora Messaging.
|
||||
The following are a set of documented interactions possible between Pagure Dist Git and
|
||||
Fedora Messaging.
|
||||
|
||||
Projects
|
||||
^^^^
|
||||
~~~~~~~~
|
||||
|
||||
The messages in this category follow the topic name pattern ``pagure.project.*``.
|
||||
|
||||
Creation of a project
|
||||
""""
|
||||
+++++++++++++++++++++
|
||||
|
||||
Whenever a new project is created on either Pagure or Pagure Dist Git, the
|
||||
message of schema topic ``pagure.project.new`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_20-57>`_.
|
||||
Whenever a new project is created on either Pagure or Pagure Dist Git, the message of
|
||||
schema topic ``pagure.project.new`` is created on the Fedora Messaging bus. The class
|
||||
definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_20-57>`__.
|
||||
|
||||
Editing of a project
|
||||
""""
|
||||
++++++++++++++++++++
|
||||
|
||||
Whenever an existing project is edited on either Pagure or Pagure Dist Git, the
|
||||
message of schema topic ``pagure.project.edit`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_60-99>`_.
|
||||
Whenever an existing project is edited on either Pagure or Pagure Dist Git, the message
|
||||
of schema topic ``pagure.project.edit`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_60-99>`__.
|
||||
|
||||
Forking of a project
|
||||
""""
|
||||
++++++++++++++++++++
|
||||
|
||||
Whenever an existing project is forked on either Pagure or Pagure Dist Git, the
|
||||
message of schema topic ``pagure.project.forked`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_102-140>`_.
|
||||
Whenever an existing project is forked on either Pagure or Pagure Dist Git, the message
|
||||
of schema topic ``pagure.project.forked`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_102-140>`__.
|
||||
|
||||
Deleting of a project
|
||||
""""
|
||||
+++++++++++++++++++++
|
||||
|
||||
Whenever an existing project is removed from either Pagure or Pagure Dist Git,
|
||||
the message of schema topic ``pagure.project.deleted`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_143-180>`_.
|
||||
Whenever an existing project is removed from either Pagure or Pagure Dist Git, the
|
||||
message of schema topic ``pagure.project.deleted`` is created on the Fedora Messaging
|
||||
bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_143-180>`__.
|
||||
|
||||
Adding a group to a project
|
||||
""""
|
||||
+++++++++++++++++++++++++++
|
||||
|
||||
Whenever access is provided to a group for a project on either Pagure or Pagure
|
||||
Dist Git, the message of schema topic ``pagure.project.group.added`` is created
|
||||
on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_183-229>`_.
|
||||
Whenever access is provided to a group for a project on either Pagure or Pagure Dist
|
||||
Git, the message of schema topic ``pagure.project.group.added`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_183-229>`__.
|
||||
|
||||
Deleting a group from a project
|
||||
""""
|
||||
+++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever access is revoked from a group for a project on either Pagure or
|
||||
Pagure Dist Git, the message of schema topic ``pagure.project.group.removed``
|
||||
is created on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_232-279>`_.
|
||||
Whenever access is revoked from a group for a project on either Pagure or Pagure Dist
|
||||
Git, the message of schema topic ``pagure.project.group.removed`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_232-279>`__.
|
||||
|
||||
Updating a group on a project
|
||||
""""
|
||||
+++++++++++++++++++++++++++++
|
||||
|
||||
Whenever access is updated to a group for a project on either Pagure or Pagure
|
||||
Dist Git, the message of schema topic ``pagure.project.group.access.updated``
|
||||
is created on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_282-326>`_.
|
||||
Whenever access is updated to a group for a project on either Pagure or Pagure Dist Git,
|
||||
the message of schema topic ``pagure.project.group.access.updated`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_282-326>`__.
|
||||
|
||||
Editing a tag on a project
|
||||
""""
|
||||
++++++++++++++++++++++++++
|
||||
|
||||
Whenever tags are edited for a project on either Pagure or Pagure Dist Git, the
|
||||
message of schema topic ``pagure.project.tag.edited`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_329-368>`_.
|
||||
Whenever tags are edited for a project on either Pagure or Pagure Dist Git, the message
|
||||
of schema topic ``pagure.project.tag.edited`` is created on the Fedora Messaging bus.
|
||||
The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_329-368>`__.
|
||||
|
||||
Deleting a tag on a project
|
||||
""""
|
||||
+++++++++++++++++++++++++++
|
||||
|
||||
Whenever tags are deleted from a project on either Pagure or Pagure Dist Git,
|
||||
the message of schema topic ``pagure.project.tag.removed`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_371-410>`_.
|
||||
Whenever tags are deleted from a project on either Pagure or Pagure Dist Git, the
|
||||
message of schema topic ``pagure.project.tag.removed`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_371-410>`__.
|
||||
|
||||
Updating a user to a project
|
||||
""""
|
||||
++++++++++++++++++++++++++++
|
||||
|
||||
Whenever access is updated to a user for a project on either Pagure or Pagure
|
||||
Dist Git, the message of schema topic ``pagure.project.user.access.updated`` is
|
||||
created on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_413-457>`_.
|
||||
Whenever access is updated to a user for a project on either Pagure or Pagure Dist Git,
|
||||
the message of schema topic ``pagure.project.user.access.updated`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_413-457>`__.
|
||||
|
||||
Adding a user to a project
|
||||
""""
|
||||
++++++++++++++++++++++++++
|
||||
|
||||
Whenever access is provided to a user for a project on either Pagure or Pagure
|
||||
Dist Git, the message of schema topic ``pagure.project.user.added`` is created
|
||||
on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_460-499>`_.
|
||||
Whenever access is provided to a user for a project on either Pagure or Pagure Dist Git,
|
||||
the message of schema topic ``pagure.project.user.added`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_460-499>`__.
|
||||
|
||||
Deleting a user from a project
|
||||
""""
|
||||
++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever access is revoked from a user for a project on either Pagure or Pagure
|
||||
Dist Git, the message of schema topic ``pagure.project.user.removed`` is
|
||||
created on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_502-541>`_.
|
||||
Whenever access is revoked from a user for a project on either Pagure or Pagure Dist
|
||||
Git, the message of schema topic ``pagure.project.user.removed`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/project_schema.py#_502-541>`__.
|
||||
|
||||
Repositories
|
||||
^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
The messages in this category follow the topic name pattern ``pagure.git.*``.
|
||||
|
||||
Creation of a branch
|
||||
""""
|
||||
++++++++++++++++++++
|
||||
|
||||
Whenever a new branch is created on a project on either Pagure or Pagure Dist
|
||||
Git, the message of schema topic ``pagure.git.branch.creation`` is created on
|
||||
the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/git_schema.py#_47-95>`_.
|
||||
Whenever a new branch is created on a project on either Pagure or Pagure Dist Git, the
|
||||
message of schema topic ``pagure.git.branch.creation`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/git_schema.py#_47-95>`__.
|
||||
|
||||
Deletion of a branch
|
||||
""""
|
||||
++++++++++++++++++++
|
||||
|
||||
Whenever an existing branch is deleted on a project on either Pagure or Pagure
|
||||
Dist Git, the message of schema topic ``pagure.git.branch.deletion`` is created
|
||||
on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/git_schema.py#_98-139>`_.
|
||||
Whenever an existing branch is deleted on a project on either Pagure or Pagure Dist Git,
|
||||
the message of schema topic ``pagure.git.branch.deletion`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/git_schema.py#_98-139>`__.
|
||||
|
||||
Reception of commits
|
||||
""""
|
||||
++++++++++++++++++++
|
||||
|
||||
Whenever a set of commits are pushed to an existing branch in a repository on
|
||||
either Pagure or Pagure Dist Git, the message of schema topic
|
||||
``pagure.git.receive`` is created on the Fedora Messaging bus. The class
|
||||
definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/git_schema.py#_142-224>`_.
|
||||
Whenever a set of commits are pushed to an existing branch in a repository on either
|
||||
Pagure or Pagure Dist Git, the message of schema topic ``pagure.git.receive`` is created
|
||||
on the Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/git_schema.py#_142-224>`__.
|
||||
|
||||
Creation of a tag
|
||||
""""
|
||||
+++++++++++++++++
|
||||
|
||||
Whenever a new tag is created on a project on either Pagure or Pagure Dist Git,
|
||||
the message of schema topic ``pagure.git.tag.creation`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/git_schema.py#_227-273>`_.
|
||||
Whenever a new tag is created on a project on either Pagure or Pagure Dist Git, the
|
||||
message of schema topic ``pagure.git.tag.creation`` is created on the Fedora Messaging
|
||||
bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/git_schema.py#_227-273>`__.
|
||||
|
||||
Deletion of a tag
|
||||
""""
|
||||
+++++++++++++++++
|
||||
|
||||
Whenever an existing tag is deleted on a project on either Pagure or Pagure
|
||||
Dist Git, the message of schema topic ``pagure.git.tag.deletion`` is created
|
||||
on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/git_schema.py#_276-320>`_.
|
||||
Whenever an existing tag is deleted on a project on either Pagure or Pagure Dist Git,
|
||||
the message of schema topic ``pagure.git.tag.deletion`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/git_schema.py#_276-320>`__.
|
||||
|
||||
Issues
|
||||
^^^^
|
||||
~~~~~~
|
||||
|
||||
The messages in this category follow the topic name pattern ``pagure.issue.*``.
|
||||
|
||||
Please note that these are not used in Pagure Dist Git as the **Issues** tab in
|
||||
Pagure Dist Git points to the Bugzilla page related to the said package.
|
||||
Please note that these are not used in Pagure Dist Git as the **Issues** tab in Pagure
|
||||
Dist Git points to the Bugzilla page related to the said package.
|
||||
|
||||
Adding assignment to an issue ticket
|
||||
""""
|
||||
++++++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever an assignment is added to an existing issue ticket on a project
|
||||
present on Pagure, the message of schema topic ``pagure.issue.assigned.added``
|
||||
is created on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_20-62>`_.
|
||||
Whenever an assignment is added to an existing issue ticket on a project present on
|
||||
Pagure, the message of schema topic ``pagure.issue.assigned.added`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_20-62>`__.
|
||||
|
||||
Removing assignment from an issue ticket
|
||||
""""
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever an assignment is removed from an existing issue ticket on a project
|
||||
present on Pagure, the message of schema topic
|
||||
``pagure.issue.assigned.reset`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_65-105>`_.
|
||||
Whenever an assignment is removed from an existing issue ticket on a project present on
|
||||
Pagure, the message of schema topic ``pagure.issue.assigned.reset`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_65-105>`__.
|
||||
|
||||
Comment added to an issue ticket
|
||||
""""
|
||||
++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever a comment is added to an existing issue ticket on a project present on
|
||||
either Pagure and Pagure Dist Git, the message of schema topic
|
||||
``pagure.issue.comment.added`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_108-153>`_.
|
||||
Whenever a comment is added to an existing issue ticket on a project present on either
|
||||
Pagure and Pagure Dist Git, the message of schema topic ``pagure.issue.comment.added``
|
||||
is created on the Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_108-153>`__.
|
||||
|
||||
Adding dependency to an issue ticket
|
||||
""""
|
||||
++++++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever a dependency is added to an existing issue ticket on a project present
|
||||
on Pagure, the message of schema topic ``pagure.issue.dependency.added`` is
|
||||
created on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_156-201>`_.
|
||||
Whenever a dependency is added to an existing issue ticket on a project present on
|
||||
Pagure, the message of schema topic ``pagure.issue.dependency.added`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_156-201>`__.
|
||||
|
||||
Removing dependency from an issue ticket
|
||||
""""
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever a dependency is removed from an existing issue ticket from a project
|
||||
present on Pagure, the message of schema topic
|
||||
``pagure.issue.dependency.removed`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_204-257>`_.
|
||||
Whenever a dependency is removed from an existing issue ticket from a project present on
|
||||
Pagure, the message of schema topic ``pagure.issue.dependency.removed`` is created on
|
||||
the Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_204-257>`__.
|
||||
|
||||
Removing an issue ticket
|
||||
""""
|
||||
++++++++++++++++++++++++
|
||||
|
||||
Whenever an existing issue ticket is removed from a project present on either
|
||||
Pagure, the message of schema topic ``pagure.issue.drop`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_260-303>`_.
|
||||
Whenever an existing issue ticket is removed from a project present on either Pagure,
|
||||
the message of schema topic ``pagure.issue.drop`` is created on the Fedora Messaging
|
||||
bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_260-303>`__.
|
||||
|
||||
Editing an issue ticket
|
||||
""""
|
||||
+++++++++++++++++++++++
|
||||
|
||||
Whenever an existing issue ticket is edited on a project present on either
|
||||
Pagure, the message of schema topic ``pagure.issue.edit`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_306-351>`_.
|
||||
Whenever an existing issue ticket is edited on a project present on either Pagure, the
|
||||
message of schema topic ``pagure.issue.edit`` is created on the Fedora Messaging bus.
|
||||
The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_306-351>`__.
|
||||
|
||||
Creating an issue ticket
|
||||
""""
|
||||
++++++++++++++++++++++++
|
||||
|
||||
Whenever a new issue ticket is created on a project present on either Pagure or
|
||||
, the message of schema topic ``pagure.issue.new`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_354-395>`_.
|
||||
Whenever a new issue ticket is created on a project present on either Pagure or , the
|
||||
message of schema topic ``pagure.issue.new`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_354-395>`__.
|
||||
|
||||
Adding label to an issue ticket
|
||||
""""
|
||||
+++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever labels are added to an existing issue ticket is created on a project
|
||||
present on Pagure, the message of schema topic ``pagure.issue.tag.added`` is
|
||||
created on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_398-441>`_.
|
||||
Whenever labels are added to an existing issue ticket is created on a project present on
|
||||
Pagure, the message of schema topic ``pagure.issue.tag.added`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_398-441>`__.
|
||||
|
||||
Removing label from an issue ticket
|
||||
""""
|
||||
+++++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever labels are removed from an existing issue ticket is created on a
|
||||
project present on Pagure, the message of schema topic
|
||||
``pagure.issue.tag.removed`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_444-487>`_.
|
||||
Whenever labels are removed from an existing issue ticket is created on a project
|
||||
present on Pagure, the message of schema topic ``pagure.issue.tag.removed`` is created
|
||||
on the Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/issue_schema.py#_444-487>`__.
|
||||
|
||||
Pull Requests
|
||||
^^^^
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
The messages in this category follow the topic name pattern ``pagure.pull-request.*``.
|
||||
|
||||
Adding a pull request assignee
|
||||
""""
|
||||
++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever an assignee is added to an existing pull request made against a
|
||||
project on either Pagure or Pagure Dist Git, the message of schema topic
|
||||
``pagure.pull-request.assigned.added`` is created on the Fedora Messaging bus.
|
||||
The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_20-61>`_.
|
||||
Whenever an assignee is added to an existing pull request made against a project on
|
||||
either Pagure or Pagure Dist Git, the message of schema topic
|
||||
``pagure.pull-request.assigned.added`` is created on the Fedora Messaging bus. The class
|
||||
definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_20-61>`__.
|
||||
|
||||
Removing a pull request assignee
|
||||
""""
|
||||
++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever an assignee is removed from an existing pull request made against a
|
||||
project on either Pagure or Pagure Dist Git, the message of schema topic
|
||||
``pagure.pull-request.assigned.reset`` is created on the Fedora Messaging bus.
|
||||
The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_64-104>`_.
|
||||
Whenever an assignee is removed from an existing pull request made against a project on
|
||||
either Pagure or Pagure Dist Git, the message of schema topic
|
||||
``pagure.pull-request.assigned.reset`` is created on the Fedora Messaging bus. The class
|
||||
definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_64-104>`__.
|
||||
|
||||
Closing a pull request
|
||||
""""
|
||||
++++++++++++++++++++++
|
||||
|
||||
Whenever an existing pull request made against a project on either Pagure or
|
||||
Pagure Dist Git is closed, the message of schema topic
|
||||
``pagure.pull-request.closed`` is created on the Fedora Messaging bus.
|
||||
The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_107-151>`_.
|
||||
Whenever an existing pull request made against a project on either Pagure or Pagure Dist
|
||||
Git is closed, the message of schema topic ``pagure.pull-request.closed`` is created on
|
||||
the Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_107-151>`__.
|
||||
|
||||
Adding a comment on a pull request
|
||||
""""
|
||||
++++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever a comment is added to an existing pull request made against a project
|
||||
on either Pagure or Pagure Dist Git is closed, the message of schema topic
|
||||
``pagure.pull-request.comment.added`` is created on the Fedora Messaging bus.
|
||||
The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_154-200>`_.
|
||||
Whenever a comment is added to an existing pull request made against a project on either
|
||||
Pagure or Pagure Dist Git is closed, the message of schema topic
|
||||
``pagure.pull-request.comment.added`` is created on the Fedora Messaging bus. The class
|
||||
definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_154-200>`__.
|
||||
|
||||
Editing a comment on a pull request
|
||||
""""
|
||||
+++++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever a comment is edited on an existing pull request made against a project
|
||||
on either Pagure or Pagure Dist Git is closed, the message of schema topic
|
||||
``pagure.pull-request.comment.edited`` is created on the Fedora Messaging bus.
|
||||
The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_203-249>`_.
|
||||
Whenever a comment is edited on an existing pull request made against a project on
|
||||
either Pagure or Pagure Dist Git is closed, the message of schema topic
|
||||
``pagure.pull-request.comment.edited`` is created on the Fedora Messaging bus. The class
|
||||
definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_203-249>`__.
|
||||
|
||||
Adding a flag on a pull request
|
||||
""""
|
||||
+++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever a flag is added to an existing pull request made against a project
|
||||
on either Pagure or Pagure Dist Git is closed, the message of schema topic
|
||||
``pagure.pull-request.flag.added`` is created on the Fedora Messaging bus.
|
||||
The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_252-293>`_.
|
||||
Whenever a flag is added to an existing pull request made against a project on either
|
||||
Pagure or Pagure Dist Git is closed, the message of schema topic
|
||||
``pagure.pull-request.flag.added`` is created on the Fedora Messaging bus. The class
|
||||
definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_252-293>`__.
|
||||
|
||||
Updating a flag on a pull request
|
||||
""""
|
||||
+++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever a flag is updated on an existing pull request made against a project
|
||||
on either Pagure or Pagure Dist Git is closed, the message of schema topic
|
||||
``pagure.pull-request.flag.updated`` is created on the Fedora Messaging bus.
|
||||
The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_296-339>`_.
|
||||
Whenever a flag is updated on an existing pull request made against a project on either
|
||||
Pagure or Pagure Dist Git is closed, the message of schema topic
|
||||
``pagure.pull-request.flag.updated`` is created on the Fedora Messaging bus. The class
|
||||
definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_296-339>`__.
|
||||
|
||||
Editing a pull request body
|
||||
""""
|
||||
+++++++++++++++++++++++++++
|
||||
|
||||
Whenever the body of en existing pull request made against a project on either
|
||||
Pagure or Pagure Dist Git is edited, the message of schema topic
|
||||
``pagure.pull-request.initial_comment.edited`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_342-384>`_.
|
||||
Whenever the body of en existing pull request made against a project on either Pagure or
|
||||
Pagure Dist Git is edited, the message of schema topic
|
||||
``pagure.pull-request.initial_comment.edited`` is created on the Fedora Messaging bus.
|
||||
The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_342-384>`__.
|
||||
|
||||
Creating a pull request
|
||||
""""
|
||||
+++++++++++++++++++++++
|
||||
|
||||
Whenever a pull request is made against a project on either Pagure or Pagure
|
||||
Dist Git, the message of schema topic ``pagure.pull-request.new`` is created
|
||||
on the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_387-427>`_.
|
||||
Whenever a pull request is made against a project on either Pagure or Pagure Dist Git,
|
||||
the message of schema topic ``pagure.pull-request.new`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_387-427>`__.
|
||||
|
||||
Rebasing a pull request
|
||||
""""
|
||||
+++++++++++++++++++++++
|
||||
|
||||
Whenever a pull request made against a project on either Pagure or Pagure
|
||||
Dist Git is rebased, the message of schema topic
|
||||
``pagure.pull-request.rebased`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_430-469>`_.
|
||||
Whenever a pull request made against a project on either Pagure or Pagure Dist Git is
|
||||
rebased, the message of schema topic ``pagure.pull-request.rebased`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_430-469>`__.
|
||||
|
||||
Reopening a pull request
|
||||
""""
|
||||
++++++++++++++++++++++++
|
||||
|
||||
Whenever a closed pull request made against a project on either Pagure or
|
||||
Pagure Dist Git is reopened, the message of schema topic
|
||||
``pagure.pull-request.reopened`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_472-511>`_.
|
||||
Whenever a closed pull request made against a project on either Pagure or Pagure Dist
|
||||
Git is reopened, the message of schema topic ``pagure.pull-request.reopened`` is created
|
||||
on the Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_472-511>`__.
|
||||
|
||||
Adding a tag on a pull request
|
||||
""""
|
||||
++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever a tag is added to an existing pull request made against a project on
|
||||
either Pagure or Pagure Dist Git, the message of schema topic
|
||||
``pagure.pull-request.tag.added`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_514-556>`_.
|
||||
Whenever a tag is added to an existing pull request made against a project on either
|
||||
Pagure or Pagure Dist Git, the message of schema topic ``pagure.pull-request.tag.added``
|
||||
is created on the Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_514-556>`__.
|
||||
|
||||
Removing a tag on a pull request
|
||||
""""
|
||||
++++++++++++++++++++++++++++++++
|
||||
|
||||
Whenever a tag is removed from an existing pull request made against a project
|
||||
on either Pagure or Pagure Dist Git, the message of schema topic
|
||||
``pagure.pull-request.tag.removed`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_559-601>`_.
|
||||
Whenever a tag is removed from an existing pull request made against a project on either
|
||||
Pagure or Pagure Dist Git, the message of schema topic
|
||||
``pagure.pull-request.tag.removed`` is created on the Fedora Messaging bus. The class
|
||||
definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_559-601>`__.
|
||||
|
||||
Updating a pull request
|
||||
""""
|
||||
+++++++++++++++++++++++
|
||||
|
||||
Whenever an existing pull request made against a project on either Pagure or
|
||||
Pagure Dist Git is updated, the message of schema topic
|
||||
``pagure.pull-request.updated`` is created on the Fedora Messaging bus. The
|
||||
class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_604-643>`_.
|
||||
Whenever an existing pull request made against a project on either Pagure or Pagure Dist
|
||||
Git is updated, the message of schema topic ``pagure.pull-request.updated`` is created
|
||||
on the Fedora Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/pull_requests_schema.py#_604-643>`__.
|
||||
|
||||
Uncategorized
|
||||
^^^^
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
The messages in this category do not follow any any certain topic name pattern.
|
||||
|
||||
Adding a commit flag
|
||||
""""
|
||||
++++++++++++++++++++
|
||||
|
||||
Whenever a commit flag is added in a project on either Pagure or Pagure Dist
|
||||
Git, the message of schema topic ``pagure.commit.flag.added`` is created on the
|
||||
Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/misc_schema.py#_20-69>`_.
|
||||
Whenever a commit flag is added in a project on either Pagure or Pagure Dist Git, the
|
||||
message of schema topic ``pagure.commit.flag.added`` is created on the Fedora Messaging
|
||||
bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/misc_schema.py#_20-69>`__.
|
||||
|
||||
Updating a commit flag
|
||||
""""
|
||||
++++++++++++++++++++++
|
||||
|
||||
Whenever a commit flag is updated in a project on either Pagure or Pagure Dist
|
||||
Git, the message of schema topic ``pagure.commit.flag.updated`` is created on
|
||||
the Fedora Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/misc_schema.py#_72-121>`_.
|
||||
Whenever a commit flag is updated in a project on either Pagure or Pagure Dist Git, the
|
||||
message of schema topic ``pagure.commit.flag.updated`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/misc_schema.py#_72-121>`__.
|
||||
|
||||
Editing a group
|
||||
""""
|
||||
+++++++++++++++
|
||||
|
||||
Whenever the edits to a group are saved on either Pagure or Pagure Dist Git,
|
||||
the message of schema topic ``pagure.group.edit`` is created on the Fedora
|
||||
Messaging bus. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/misc_schema.py#_124-165>`_.
|
||||
Whenever the edits to a group are saved on either Pagure or Pagure Dist Git, the message
|
||||
of schema topic ``pagure.group.edit`` is created on the Fedora Messaging bus. The class
|
||||
definition can be found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/misc_schema.py#_124-165>`__.
|
||||
|
||||
Sending a test notification
|
||||
""""
|
||||
+++++++++++++++++++++++++++
|
||||
|
||||
For debugging purposes, a test notification can be sent over with the schema
|
||||
topic ``pagure.Test.notification`` is created on the Fedora Messaging bus. The
|
||||
class can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/misc_schema.py#_168-198>`_.
|
||||
For debugging purposes, a test notification can be sent over with the schema topic
|
||||
``pagure.Test.notification`` is created on the Fedora Messaging bus. The class can be
|
||||
found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/misc_schema.py#_168-198>`__.
|
||||
|
||||
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
|
||||
placed mentioned below.
|
||||
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 placed mentioned
|
||||
below.
|
||||
|
||||
Necessary
|
||||
^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
- The base class for all the topic classes ``PagureMessage`` has two member
|
||||
variables storing information about the URL of the production (in
|
||||
``__link__``) and staging (in ``__stg_link__``) deployments of either Pagure
|
||||
or Pagure Dist Git. This needs to be changed in accordance with the newer
|
||||
replacement planned. The class definition can be found
|
||||
`here <https://pagure.io/pagure-messages/blob/master/f/pagure_messages/base.py#_401-443>`_.
|
||||
- The base class for all the topic classes ``PagureMessage`` has two member variables
|
||||
storing information about the URL of the production (in ``__link__``) and staging (in
|
||||
``__stg_link__``) deployments of either Pagure or Pagure Dist Git. This needs to be
|
||||
changed in accordance with the newer replacement planned. The class definition can be
|
||||
found `here
|
||||
<https://pagure.io/pagure-messages/blob/master/f/pagure_messages/base.py#_401-443>`__.
|
||||
- The variable ``SCHEMA_URL`` currently leads to the page
|
||||
``https://fedoraproject.org/message-schema/`` which does not exist. This
|
||||
needs to be changed to point to the correct URL.
|
||||
- There are multiple variables that contain the API schema for Pagure and
|
||||
Pagure Dist Git, like ``TagColored``, ``BOARD``, ``BOARD_STATUS``,
|
||||
``BOARD_ISSUE``, ``USER``, ``GIT_RECEIVE_USER``, ``PAGURE_LOG``,
|
||||
``MILESTONES``, ``PRIORITIES``, ``BASE_PROJECT``, ``PROJECT``,
|
||||
``RELATED_PR``, ``ISSUE``, ``PULL_REQUEST``, ``COMMIT_FLAG`` and ``GROUP``
|
||||
that must undergo changes to store the API schemas for the replacement
|
||||
platform.
|
||||
``https://fedoraproject.org/message-schema/`` which does not exist. This needs to be
|
||||
changed to point to the correct URL.
|
||||
- There are multiple variables that contain the API schema for Pagure and Pagure Dist
|
||||
Git, like ``TagColored``, ``BOARD``, ``BOARD_STATUS``, ``BOARD_ISSUE``, ``USER``,
|
||||
``GIT_RECEIVE_USER``, ``PAGURE_LOG``, ``MILESTONES``, ``PRIORITIES``,
|
||||
``BASE_PROJECT``, ``PROJECT``, ``RELATED_PR``, ``ISSUE``, ``PULL_REQUEST``,
|
||||
``COMMIT_FLAG`` and ``GROUP`` that must undergo changes to store the API schemas for
|
||||
the replacement platform.
|
||||
- The schema project called ``pagure-messages`` need to be changed as well to
|
||||
accommodate the JSON schema for the API of the alternative and hence, publish
|
||||
messages accordingly.
|
||||
accommodate the JSON schema for the API of the alternative and hence, publish messages
|
||||
accordingly.
|
||||
|
||||
Unnecessary
|
||||
^^^^
|
||||
~~~~~~~~~~~
|
||||
|
||||
- The message classes themselves and the way they operate could, more or less,
|
||||
stay the same as the way the messages are being sent to the Fedora Messaging
|
||||
bus would remain the same.
|
||||
- The message classes themselves and the way they operate could, more or less, stay the
|
||||
same as the way the messages are being sent to the Fedora Messaging bus would remain
|
||||
the same.
|
||||
|
|
|
@ -1,98 +1,92 @@
|
|||
.. _monitorgating:
|
||||
|
||||
##################################################
|
||||
Pagure Dist Git Interactions With Monitor Gating
|
||||
##################################################
|
||||
Pagure Dist Git Interactions With Monitor Gating
|
||||
================================================
|
||||
|
||||
`Monitor Gating <https://pagure.io/fedora-ci/monitor-gating>`_ is a set
|
||||
of scripts that is used to test if `Fedora CI Gating
|
||||
<https://docs.fedoraproject.org/en-US/ci/gating/>`_ is working as
|
||||
expected. It essentially follows a typical workflow of cloning a package
|
||||
from dist-git, rebuild it in koji, create a update in bodhi, then checks
|
||||
that the CI runs, and the build is gated appropriately.
|
||||
`Monitor Gating <https://pagure.io/fedora-ci/monitor-gating>`_ is a set of scripts that
|
||||
is used to test if `Fedora CI Gating <https://docs.fedoraproject.org/en-US/ci/gating/>`_
|
||||
is working as expected. It essentially follows a typical workflow of cloning a package
|
||||
from dist-git, rebuild it in koji, create a update in bodhi, then checks that the CI
|
||||
runs, and the build is gated appropriately.
|
||||
|
||||
***********************
|
||||
Possible Interactions
|
||||
***********************
|
||||
Possible Interactions
|
||||
---------------------
|
||||
|
||||
The following are a set of documented interactions possible between
|
||||
Pagure Dist Git and Monitor Gating.
|
||||
The following are a set of documented interactions possible between Pagure Dist Git and
|
||||
Monitor Gating.
|
||||
|
||||
git and fedpkg CLI
|
||||
==================
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**cloning a repo**
|
||||
Monitor Gating uses ``fedpkg clone`` to clone a repo from dist-git.
|
||||
Monitor Gating uses ``fedpkg clone`` to clone a repo from dist-git.
|
||||
|
||||
`utils.py#_107
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_107>`_
|
||||
`utils.py#_107
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_107>`_
|
||||
|
||||
**adding a remote**
|
||||
Monitor Gating uses ``git remote add`` to add a fork on dist-git as a
|
||||
remote on a cloned dist-git repo.
|
||||
Monitor Gating uses ``git remote add`` to add a fork on dist-git as a remote on a
|
||||
cloned dist-git repo.
|
||||
|
||||
`utils.py#_136
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_136>`_
|
||||
`utils.py#_136
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_136>`_
|
||||
|
||||
**switching branches**
|
||||
Monitor Gating uses ``fedpkg switch-branch`` to switch branches on a
|
||||
dist-git cloned repo.
|
||||
Monitor Gating uses ``fedpkg switch-branch`` to switch branches on a dist-git cloned
|
||||
repo.
|
||||
|
||||
`utils.py#_149
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_149>`_
|
||||
`utils.py#_149
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_149>`_
|
||||
|
||||
**git pull, push, commit**
|
||||
Monitor Gating uses ``git commit``, ``git pull```, and ``git push``
|
||||
to get and make changes to a dist-git repo.
|
||||
Monitor Gating uses ``git commit``, ``git pull```, and ``git push`` to get and make
|
||||
changes to a dist-git repo.
|
||||
|
||||
`utils.py#_175-212
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_175-212>`_
|
||||
`utils.py#_175-212
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_175-212>`_
|
||||
|
||||
dist-git (pagure) API
|
||||
=====================
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**CI status**
|
||||
Monitor gating currently gets the status of the CI run(s) on a pull
|
||||
request using the get PR flags endpoint
|
||||
(``api/0/<namespace>/<name>/pull-request/<pr-id>/flag``).
|
||||
Monitor gating currently gets the status of the CI run(s) on a pull request using
|
||||
the get PR flags endpoint (``api/0/<namespace>/<name>/pull-request/<pr-id>/flag``).
|
||||
|
||||
`utils.py#_636
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_636>`_
|
||||
`utils.py#_636
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_636>`_
|
||||
|
||||
**open pull request**
|
||||
Monitor Gating opens new Pull Requests on dist-git using the pagure
|
||||
API (``api/0/<namespace>/<name>/pull-request/new``)
|
||||
Monitor Gating opens new Pull Requests on dist-git using the pagure API
|
||||
(``api/0/<namespace>/<name>/pull-request/new``)
|
||||
|
||||
`utils.py#_214
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_214>`_
|
||||
`utils.py#_214
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_214>`_
|
||||
|
||||
**merge pull request**
|
||||
Monitor Gating merges Pull Requests on dist-git using the pagure API
|
||||
(``api/0/<namespace>/<name>/pull-request/<pr-id>/merge``)
|
||||
Monitor Gating merges Pull Requests on dist-git using the pagure API
|
||||
(``api/0/<namespace>/<name>/pull-request/<pr-id>/merge``)
|
||||
|
||||
`utils.py#_691
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_691>`_
|
||||
`utils.py#_691
|
||||
<https://pagure.io/fedora-ci/monitor-gating/blob/production/f/monitor_gating/utils.py#_691>`_
|
||||
|
||||
******************
|
||||
Changes proposed
|
||||
******************
|
||||
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.
|
||||
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 changes made to the Continuous Integration component with regards
|
||||
to the reporting of CI status need to be updated in monitor gating.
|
||||
Currently dist-git uses the pagure flags system.
|
||||
|
||||
- Monitor Gating will need to be updated to support Opening and Merging
|
||||
pull requests on the new solution
|
||||
- The changes made to the Continuous Integration component with regards to the reporting
|
||||
of CI status need to be updated in monitor gating. Currently dist-git uses the pagure
|
||||
flags system.
|
||||
- Monitor Gating will need to be updated to support Opening and Merging pull requests on
|
||||
the new solution
|
||||
|
||||
Unnecessary
|
||||
===========
|
||||
~~~~~~~~~~~
|
||||
|
||||
- No changes should be needed for the basic git / fedpkg commands.
|
||||
(this is based on the assumption the new solution is based on git)
|
||||
- No changes should be needed for the basic git / fedpkg commands. (this is based on the
|
||||
assumption the new solution is based on git)
|
||||
|
|
|
@ -1,105 +1,98 @@
|
|||
.. _notifications:
|
||||
|
||||
Pagure Dist Git Interactions With Fedora Notifications
|
||||
====
|
||||
======================================================
|
||||
|
||||
Fedora Messaging Notifier is a family of systems to manage end-user
|
||||
notifications triggered by
|
||||
`Fedora Messaging <https://fedora-messaging.readthedocs.io/>`_ and it provides
|
||||
a single place for all applications using Fedora Messaging to notify users of
|
||||
Fedora Messaging Notifier is a family of systems to manage end-user notifications
|
||||
triggered by `Fedora Messaging <https://fedora-messaging.readthedocs.io/>`_ and it
|
||||
provides a single place for all applications using Fedora Messaging to notify users of
|
||||
events.
|
||||
|
||||
Possible Interactions
|
||||
----
|
||||
---------------------
|
||||
|
||||
The following are a set of documented interactions possible between Pagure Dist
|
||||
Git and Fedora Notifications.
|
||||
The following are a set of documented interactions possible between Pagure Dist Git and
|
||||
Fedora Notifications.
|
||||
|
||||
Artifact Details
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- Fedora Notifications receives information about the permissions related to
|
||||
a certain asset (which can be a package) from Pagure Dist Git. It receives
|
||||
information about the assets (which can be a package) that a user or a group
|
||||
has access to.
|
||||
- Fedora Notifications provide its users with **artifact details** via an HTTP
|
||||
GET endpoint that it retrieves from Pagure Dist Git. For more information,
|
||||
please check the
|
||||
`function definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/api/handlers/misc.py#L55>`_
|
||||
- Fedora Notifications receives information about the permissions related to a certain
|
||||
asset (which can be a package) from Pagure Dist Git. It receives information about the
|
||||
assets (which can be a package) that a user or a group has access to.
|
||||
- Fedora Notifications provide its users with **artifact details** via an HTTP GET
|
||||
endpoint that it retrieves from Pagure Dist Git. For more information, please check
|
||||
the `function definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/api/handlers/misc.py#L55>`__
|
||||
provided here.
|
||||
- The inputs required by the Fedora Notifications service to perform this
|
||||
operation are *name patterns of artifacts to be returned*,
|
||||
*name of the users whose artifacts are to be returned*, and
|
||||
*name of the groups whose artifacts are to be returned*.
|
||||
- This endpoint makes use of a
|
||||
`FastAPI dependency <https://fastapi.tiangolo.com/tutorial/dependencies/>`_
|
||||
called ``get_distgit_proxy``, more information related to which can be found
|
||||
`here <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L284>`_.
|
||||
- The inputs required by the Fedora Notifications service to perform this operation are
|
||||
*name patterns of artifacts to be returned*, *name of the users whose artifacts are to
|
||||
be returned*, and *name of the groups whose artifacts are to be returned*.
|
||||
- This endpoint makes use of a `FastAPI dependency
|
||||
<https://fastapi.tiangolo.com/tutorial/dependencies/>`_ called ``get_distgit_proxy``,
|
||||
more information related to which can be found `here
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L284>`__.
|
||||
|
||||
The ``PagureAsyncProxy`` class
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- The URL of the existing Pagure Dist Git production deployment is referenced
|
||||
here to instantiate an object of type ``PagureAsyncProxy`` class. For more
|
||||
information, please check the
|
||||
`method definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L69>`_
|
||||
- The URL of the existing Pagure Dist Git production deployment is referenced here to
|
||||
instantiate an object of type ``PagureAsyncProxy`` class. For more information, please
|
||||
check the `method definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L69>`__
|
||||
provided here.
|
||||
- The
|
||||
`method definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L72>`_
|
||||
for **determining the next page parameters** is provided here. This is
|
||||
extensively used for recursively navigating through the Pagure Dist Git
|
||||
`API <https://pagure.io/api/0>`_ results.
|
||||
- The
|
||||
`method definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L86>`_
|
||||
for **retrieving project details** is provided here. This is dependent on
|
||||
the values provided for the ``namespace``, ``pattern``, ``username`` and
|
||||
``owner`` parameters.
|
||||
- The
|
||||
`method definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L115>`_
|
||||
for **retrieving project details associated with a certain user** is provided
|
||||
here. This is dependent on the values provided for the ``username``
|
||||
parameter.
|
||||
- The
|
||||
`method definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L157>`_
|
||||
for **retrieving project details associated with a certain project** is
|
||||
provided here. This is dependent on the values for the ``name`` parameter.
|
||||
- The
|
||||
`method definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L127>`_
|
||||
for **retrieving user details associated with a certain project** is provided
|
||||
here. This is dependent on the values provided for the ``project_path``
|
||||
parameter.
|
||||
- The
|
||||
`method definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L142>`_
|
||||
for **retrieving group details associated with a certain project** is provided
|
||||
here. This is dependent on the values provided for the ``project_path``
|
||||
parameter.
|
||||
- The `method definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L72>`__ for
|
||||
**determining the next page parameters** is provided here. This is extensively used
|
||||
for recursively navigating through the Pagure Dist Git `API
|
||||
<https://pagure.io/api/0>`_ results.
|
||||
- The `method definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L86>`__ for
|
||||
**retrieving project details** is provided here. This is dependent on the values
|
||||
provided for the ``namespace``, ``pattern``, ``username`` and ``owner`` parameters.
|
||||
- The `method definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L115>`__ for
|
||||
**retrieving project details associated with a certain user** is provided here. This
|
||||
is dependent on the values provided for the ``username`` parameter.
|
||||
- The `method definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L157>`__ for
|
||||
**retrieving project details associated with a certain project** is provided here.
|
||||
This is dependent on the values for the ``name`` parameter.
|
||||
- The `method definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L127>`__ for
|
||||
**retrieving user details associated with a certain project** is provided here. This
|
||||
is dependent on the values provided for the ``project_path`` parameter.
|
||||
- The `method definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L142>`__ for
|
||||
**retrieving group details associated with a certain project** is provided here. This
|
||||
is dependent on the values provided for the ``project_path`` parameter.
|
||||
|
||||
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
|
||||
placed mentioned below.
|
||||
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 placed mentioned
|
||||
below.
|
||||
|
||||
Necessary
|
||||
^^^^
|
||||
~~~~~~~~~
|
||||
|
||||
- The Pagure Dist Git URL production deployment URL would have to change to
|
||||
point towards the production deployment URL of the alternative. This
|
||||
`method definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L285>`_
|
||||
is where the URL is formatted to point towards the API.
|
||||
- The method ``get_api_url`` has to be redefined depending on what the URL
|
||||
pattern is for the alternative place where we move Pagure Dist Git assets to.
|
||||
Here is the
|
||||
`method definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L69>`_
|
||||
of where the changes need to be made.
|
||||
- The Pagure Dist Git URL production deployment URL would have to change to point
|
||||
towards the production deployment URL of the alternative. This `method definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L285>`__ is
|
||||
where the URL is formatted to point towards the API.
|
||||
- The method ``get_api_url`` has to be redefined depending on what the URL pattern is
|
||||
for the alternative place where we move Pagure Dist Git assets to. Here is the `method
|
||||
definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/pagure.py#L69>`__ of
|
||||
where the changes need to be made.
|
||||
|
||||
Unnecessary
|
||||
^^^^
|
||||
~~~~~~~~~~~
|
||||
|
||||
- The ``APIClient`` class that is inherited by the ``PagureAsyncProxy`` class is
|
||||
agnostic to the place where the assets are hosted so changing over from
|
||||
Pagure Dist Git to an alternative would not necessitate a reworking while
|
||||
checking for compatibilities is strongly recommended. The
|
||||
`method definition <https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/base.py#L39>`_
|
||||
can be found here.
|
||||
agnostic to the place where the assets are hosted so changing over from Pagure Dist
|
||||
Git to an alternative would not necessitate a reworking while checking for
|
||||
compatibilities is strongly recommended. The `method definition
|
||||
<https://github.com/fedora-infra/fmn/blob/develop/fmn/backends/base.py#L39>`__ can be
|
||||
found here.
|
||||
|
|
|
@ -1,62 +1,59 @@
|
|||
.. _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.
|
||||
`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.
|
||||
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
|
||||
- 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
|
||||
- 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
|
||||
- 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>`_)
|
||||
- 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.
|
||||
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
|
||||
|
|
|
@ -1,101 +1,104 @@
|
|||
.. _toddlers:
|
||||
|
||||
Pagure Dist Git Interactions With Toddlers
|
||||
====
|
||||
==========================================
|
||||
|
||||
`Toddlers <https://pagure.io/fedora-infra/toddlers>`_ are used to run various small tasks
|
||||
in Fedora Infrastructure. Keeping things synced and automating various tasks that were done
|
||||
manually in the past. As that it has plenty of interactions with Dist Git.
|
||||
`Toddlers <https://pagure.io/fedora-infra/toddlers>`__ are used to run various small
|
||||
tasks in Fedora Infrastructure. Keeping things synced and automating various tasks that
|
||||
were done manually in the past. As that it has plenty of interactions with Dist Git.
|
||||
|
||||
Possible Interactions
|
||||
----
|
||||
---------------------
|
||||
|
||||
The following are a set of documented interactions possible between Pagure Dist
|
||||
Git and Toddlers.
|
||||
The following are a set of documented interactions possible between Pagure Dist Git and
|
||||
Toddlers.
|
||||
|
||||
Git module
|
||||
^^^^
|
||||
~~~~~~~~~~
|
||||
|
||||
- Some of the toddlers are doing cloning and various interactions with git, all of those
|
||||
interactions are in
|
||||
`git module <https://pagure.io/fedora-infra/toddlers/blob/main/f/toddlers/utils/git.py>`_
|
||||
interactions are in `git module
|
||||
<https://pagure.io/fedora-infra/toddlers/blob/main/f/toddlers/utils/git.py>`_
|
||||
|
||||
Pagure module
|
||||
^^^^
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
- This `module <https://pagure.io/fedora-infra/toddlers/blob/main/f/toddlers/utils/pagure.py>`_
|
||||
- This `module
|
||||
<https://pagure.io/fedora-infra/toddlers/blob/main/f/toddlers/utils/pagure.py>`_
|
||||
contains method interacting with pagure or dist-git
|
||||
- Few methods are specific only for dist-git:
|
||||
|
||||
* ``set_monitoring_status``
|
||||
* ``is_project_orphaned``
|
||||
* ``assign_maintainer_to_project``
|
||||
- ``set_monitoring_status``
|
||||
- ``is_project_orphaned``
|
||||
- ``assign_maintainer_to_project``
|
||||
|
||||
clean_retired_packages toddler
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ``/_dg/orphan`` API endpoint called in ``orphan_package`` method
|
||||
- ``/_dg/bzoverrides`` API endpoint called in ``orphan_package`` method
|
||||
- ``/<namespace>/<name>/git/modifyacls`` API endpoint called in ``remove_access`` method
|
||||
- ``/<namespace>/<name>/watchers/update`` API endpoint called in ``remove_access`` method
|
||||
- ``/<namespace>/<name>/watchers/update`` API endpoint called in ``remove_access``
|
||||
method
|
||||
|
||||
distgit_bugzilla_sync toddler
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ``/extras/pagure_poc.json`` called in ``_get_pagure_projects``
|
||||
- ``/extras/pagure_bz.json`` called in ``_get_pagure_projects``
|
||||
|
||||
flag_ci_pr toddler
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Listening to following topics:
|
||||
|
||||
* ``org.centos.*.ci.dist-git-pr.test.error``
|
||||
* ``org.centos.*.ci.dist-git-pr.test.complete``
|
||||
* ``org.centos.*.ci.dist-git-pr.test.running``
|
||||
- ``org.centos.*.ci.dist-git-pr.test.error``
|
||||
- ``org.centos.*.ci.dist-git-pr.test.complete``
|
||||
- ``org.centos.*.ci.dist-git-pr.test.running``
|
||||
|
||||
- ``/api/0/<namespace>/<repo>/c/<commit_hash>/flag`` called in ``process`` method
|
||||
|
||||
flag_commit_build toddler
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ``/api/0/<namespace>/<repo>/c/<commit_hash>/flag`` called in ``process`` method
|
||||
|
||||
packagers_without_bugzilla toddler
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ``/extras/pagure_bz.json`` called in ``get_user_and_groups_dist_git`` method
|
||||
|
||||
pdc_retired_packages toddler
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ``/<namespace>/<repo>/raw/<branch>/f/dead.package`` called in ``_is_retired_in_dist_git`` method
|
||||
- ``/<namespace>/<repo>/raw/<branch>/f/dead.package`` called in
|
||||
``_is_retired_in_dist_git`` method
|
||||
|
||||
pdc_unretire_packages toddler
|
||||
^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ``/<namespace>/<package_name>.git`` called in ``process_ticket`` method
|
||||
- ``git clone`` called in ``process_ticket`` toddler
|
||||
|
||||
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.
|
||||
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
|
||||
`configuration <https://pagure.io/fedora-infra/ansible/blob/main/f/roles/openshift-apps/toddlers/templates/fedora-messaging.toml>`_
|
||||
- The `configuration
|
||||
<https://pagure.io/fedora-infra/ansible/blob/main/f/roles/openshift-apps/toddlers/templates/fedora-messaging.toml>`_
|
||||
needs to be changed for dist-git to point to new URL
|
||||
- The new dist-git solution needs to provide the API calls needed by toddlers
|
||||
|
||||
Unnecessary
|
||||
^^^^
|
||||
~~~~~~~~~~~
|
||||
|
||||
- Split
|
||||
`pagure module <https://pagure.io/fedora-infra/toddlers/blob/main/f/toddlers/utils/pagure.py>`_
|
||||
to dist-git and pagure module. This change will help us differentiate between those two
|
||||
- Split `pagure module
|
||||
<https://pagure.io/fedora-infra/toddlers/blob/main/f/toddlers/utils/pagure.py>`_ to
|
||||
dist-git and pagure module. This change will help us differentiate between those two
|
||||
in the future
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue