github2fedmsg: Add revitalization investigation
This commit is contained in:
parent
23d915946b
commit
ba8250cbb1
1 changed files with 44 additions and 14 deletions
|
@ -3,27 +3,57 @@
|
|||
Revitalization of github2fedmsg application
|
||||
===========================================
|
||||
|
||||
This investigation is looking at updating the codebase we currently have.
|
||||
This document will investigate the possibility of updating the code base we currently have.
|
||||
|
||||
Current situation
|
||||
-----------------
|
||||
What needs to be addressed (from our index)
|
||||
-------------------------------------------
|
||||
|
||||
**Python 2 -> Python 3**
|
||||
| *Current situation*: Written in Python 2.7.x which is now `EOLed <https://www.python.org/doc/sunset-python-2/>`_.
|
||||
| *Suggested outcome*: Python 3.10.x (and above).
|
||||
| *Reason(s)*: Benefits from performance improvements, bug fixes, security patches etc. of the language.
|
||||
|
||||
What needs update
|
||||
-----------------
|
||||
**Migration to OpenShift**
|
||||
| *Current situation*: The app is running in a Virtual Machine (VM).
|
||||
| *Suggested outcome*: Deploy it as an OpenShift service.
|
||||
| *Reason(s)*: Automated deployments and we already have an OpenShift cluster.
|
||||
|
||||
**Documentation**
|
||||
| *Current situation*: Only a brief README file and `SOP <https://docs.fedoraproject.org/en-US/infra/sysadmin_guide/github2fedmsg/>`_ are available.
|
||||
| *Suggested outcome*: It would be great if the documentation was more extensive. It should include instructions about setting up the development environment, contributing guidelines, code of conduct, etc. This is also covered in the `dev environment enhancement doc <https://fedora-arc.readthedocs.io/en/latest/github2fedmsg/enhancing_the_development_environment.html>`_.
|
||||
| *Reason(s)*: Easier onboarding and setting expectations for contributors.
|
||||
|
||||
**Porting to Authlib**
|
||||
| *Current outcome*: The authentication library used is `Velruse <https://velruse.readthedocs.io/en/latest/usage.html>`_.
|
||||
| *Suggested using*: `Authlib <https://authlib.org/>`_.
|
||||
| *Reason(s)*: Velruse hasn't been updated in 9 years and Authlib is in active development.
|
||||
|
||||
**Development environment**
|
||||
| *Current situation*: This is covered in depth in our other document about enhancing the development environment.
|
||||
|
||||
Notes
|
||||
-----
|
||||
* setuptools>=58 `breaks support for 2to3 <https://setuptools.pypa.io/en/latest/history.html#v58-0-0>`_.
|
||||
* 2to3 is `deprecated since Python 3.11 and will be removed in Python 3.13 <https://docs.python.org/3/library/2to3.html>`_.
|
||||
|
||||
The Good and the Bad
|
||||
--------------------
|
||||
|
||||
The Good Points
|
||||
---------------
|
||||
**Advantages**
|
||||
1. The project is written in (now EOLed) Python 2.7.x
|
||||
and as Python 3 is currently in active development, the project can
|
||||
benefit from the performance improvements, bug fixes, and security patches
|
||||
included in the language itself.
|
||||
2. The project makes use of a certain set of dependencies, the support of
|
||||
which has not been ported from Python 2 to Python 3. Porting into
|
||||
Python 3 would necessitate the use of newer dependencies which would be
|
||||
more updated, secure and maintained.
|
||||
|
||||
1. Not starting from scratch = less work
|
||||
|
||||
|
||||
The Bad points
|
||||
--------------
|
||||
|
||||
1. Need to make familiar with existing code = more time needed
|
||||
**Disadvantages**
|
||||
1. The move from Python 2 to Python 3 would require special attention into
|
||||
finding the alternatives for the dependencies which either support only
|
||||
Python 2 or are unmaintained as of 2022. Inability to find those would
|
||||
render the rewrite unsuccessful.
|
||||
2. We will continue using the `Pyramid web framework <https://trypyramid.com/>`_,
|
||||
however the team lacks the expertise with it. This makes the app difficult
|
||||
to maintain and team members would have to upskill in this area.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue