#10369 Rewrite github2fedmsg
Opened 6 months ago by abompard. Modified 2 months ago

The github2fedmsg app has been ported to Fedora Messaging, but it's still a Python 2 app running on Pyramid, in a VM. I think it would be a useful move towards standardization if this app was rewritten to be based on Flask and authlib (instead of Velruse). And Python 3 of course. And it should run in OpenShift.

It's also still using OpenID for authentication according to Ryan's investigation.

I have opened an upstream ticket for that, but it should probably be tracked here as a mini initiative.


Metadata Update from @mohanboddu:
- Issue priority set to: Waiting on Assignee (was: Needs Review)
- Issue tagged with: dev, high-gain, high-trouble, ops

6 months ago

The current github2fedmsg doesnt use the github webhooks system does it (it auths with github on request of the user, right)

This got me wondering -- would it be a bad idea to use the webhooks in github, and have one service "webhooks2fedmsg(fedoramessaging)"

we could also add bugzilla2fedmsg to this too i suppose (it appears webhooks support is available in bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1588661)

this would also be useful in the future maybe if we start using more services that we don't run ourselves -- like gitlab -- it would just be a matter of writing a schema and plugging it into the theorical webhooks2fedoramessaging bridge

obviously this might be a little bigger than a mini-initiative

Yeah that's a very good idea, it would save on the boilerplate code (Flask, fedora-messaging, poetry, linters, etc). Fewer dependencies to keep up-to-date, less CI integration to maintain, less tech debt in general.
The app could have multiple endpoints mapped to the emitting services, like /github, /discourse, etc to handle the different schemas.

Let's do this. It is however a regular-sized initiative I believe, because there is some software design to do, even though we'll end-up reusing most of the code of existing webhook handlers.

I worked on this web app for centos: https://github.com/CentOS/gitlab-webhooks - it receives requests from gitlab and forwards them to fedora messaging.

It could be expanded to support github if there is interest.

We'd like to bump the priority of this. Our development would be hindered significantly if the github integration stopped working.

Login to comment on this ticket.

Metadata
Boards 3
ops Status: Backlog
dev Status: Backlog
mini-initative Status: Backlog