Initial template for github2fedmsg investigation

This is initial template for github2fedmsg investigation, it contains 3
scenarios ARC team will investigate.

Signed-off-by: Michal Konečný <mkonecny@redhat.com>
This commit is contained in:
Michal Konečný 2022-11-08 14:42:23 +01:00
parent ccca00e872
commit 79c968fa71
6 changed files with 173 additions and 0 deletions

View file

@ -0,0 +1,16 @@
.. _enhancement_of_repository:
Enhancement of dev env for github2fedmsg
========================================
There is plenty of tech debt regarding the repository. This document
will try to address all the current tech debt tied to kerneltest repository.
Investigation
-------------
* CI - missing
* Development environment - Just README instructions for virtual env
* Automatic dependency updater - recommending renovate
* When moving to OpenShift we can consolidate adding automatic deployment with
GitHub webhooks

View file

@ -0,0 +1,77 @@
github2fedmsg
=============
Purpose
-------
This investigation's goal is to address tech debt of github2fedmsg application.
github2fedmsg application is used to translate events emitted by github to fedora messaging
messages using github webhooks. It also has database of projects to watch and provides web
interface to add new repositories. It authenticates with FAS and Github, linking accounts
together.
The app has git-hub2fedmsg bot on GitHub that is being used to link the FAS account to
Github.
Resources
---------
* github2fedmsg initiative proposal: https://pagure.io/cpe/initiatives-proposal/issue/24
* github2fedmsg repo: https://github.com/fedora-infra/github2fedmsg
* github2fedmsg web: https://apps.fedoraproject.org/github2fedmsg
* github2fedmsg ansible: https://pagure.io/fedora-infra/ansible/blob/main/f/roles/github2fedmsg
* github2fedmsg SOP: https://docs.fedoraproject.org/en-US/infra/sysadmin_guide/github2fedmsg/
Requirements
------------
* Porting to Flask and authlib
* Linking GitHub account to FAS account
* Listening to GitHub events
* Translating GitHub events to Fedora messages
* Add/remove repositories to watch
* CI
* Documentation
* OpenShift deployment
What Needs To Be Addressed?
---------------------------
* Create message schema
* python2 -> python3
* migration to OpenShift
* Documentation - only README and SOPs are available
* Update development environment
* There is no staging environment
Investigation
-------------
Here is the list of ideas/things we discussed/looked at:
.. toctree::
:maxdepth: 1
revitalization
rewrite
webhook2fedmsg
enhancement_of_repository
Conclusions
-----------
The best approach would be bla bla bla...
Proposed Roadmap
----------------
* Step 1 - Make github2fedmsg great again!
* Step 2 - ???
* Step 3 - Profit!
Estimate of work
----------------
It will take as much time as needed.

View file

@ -0,0 +1,29 @@
.. _revitalization:
Revitalization of github2fedmsg application
===========================================
This investigation is looking at updating the codebase we currently have.
Current situation
-----------------
What needs update
-----------------
Notes
-----
The Good Points
---------------
1. Not starting from scratch = less work
The Bad points
--------------
1. Need to make familiar with existing code = more time needed

View file

@ -0,0 +1,21 @@
.. _rewrite:
Complete rewrite of github2fedmsg application
=============================================
This document will investigate the possibility of rewriting github2fedmsg from scratch.
Notes
-----
The Good Points
---------------
1. Good point
The Bad points
--------------
1. Bad point

View file

@ -0,0 +1,29 @@
.. _webhook2fedmsg:
webhook2fedmsg
==============
This document will investigate the possibility to create a more general solution
converting various webhooks to fedora messaging messages. This will completely
change the github2fedmsg to modular application supporting multiple sources.
Requirements
------------
New design
----------
The Good Points
---------------
1. Could support multiple sources in future
2. Easier to maintain
3. Easier to customize
The Bad points
--------------
1. More work for us
2. Existing code will be thrown away