Forgejo uses queue implementation in GO and Redis or leveldb as backed. Investigate integration possibilities with existing Fedora infrastructure.
From 2025-02-05 Matrix meeting paraphrased "fedora-messaging is a possibility but there is a strong worry that it would not be able to handle the amount of messages coming through."
Proposed: "Staging deployment of forgejo will use fedora-messaging as a primary messaging implementation."
I am not sure if I understand this ticket correctly.
Is this about sending messages to Fedora Messaging when interesting events happen? Like for example when a repository on Forgejo is created, somebody comments on a PR and so on? Letting anybody listen for such messages and being able to see them in datagrepper? https://apps.fedoraproject.org/datagrepper/v2/search?rows_per_page=1
If yes, I'd like to volunteer and implement this. But also, I don't understand the following worry.
there is a strong worry that it would not be able to handle the amount of messages coming through.
We send a massive amount of messages through Fedora Messaging already. Do you think adding Forgejo would be such a significant increase, that it wouldn't scale anymore? I don't have any numbers but my guess is more optimistic.
there is a strong worry that it would not be able to handle the amount of messages coming through. We send a massive amount of messages through Fedora Messaging already. Do you think adding Forgejo would be such a significant increase, that it wouldn't scale anymore? I don't have any numbers but my guess is more optimistic.
This worry was in the context of using the webhook API that it's currently provided by forgejo to solve this problem, since webhooks2fedmsg might not be enough to handle the production throughput.
Linking the webhooks2fedmsg upstream for the future reference. https://github.com/fedora-infra/webhook-to-fedora-messaging/
webhooks2fedmsg
since webhooks2fedmsg might not be enough to handle the production throughput.
Sounds to me like we should start by experimenting what throughput can the webhooks2fedmsg service handle, and try to eliminate some obvious bottlenecks. Or do you think it is a lost cause and we should approach it differently? For example by proposing patches to the Forgejo upstream, to support Fedora Messaging directly?
This ticket is interesting to me, so I am offering my help. I don't mind any approach you think it is the best. But if anyone is already working or planning to work on this, please let me know.
Linking the webhooks2fedmsg upstream for the future reference. https://github.com/fedora-infra/webhook-to-fedora-messaging/ since webhooks2fedmsg might not be enough to handle the production throughput. Sounds to me like we should start by experimenting what throughput can the webhooks2fedmsg service handle, and try to eliminate some obvious bottlenecks. Or do you think it is a lost cause and we should approach it differently? For example by proposing patches to the Forgejo upstream, to support Fedora Messaging directly? This ticket is interesting to me, so I am offering my help. I don't mind any approach you think it is the best. But if anyone is already working or planning to work on this, please let me know.
I think your approach is correct, lets hook it up with webhook-to-fedoramessaging and see if can handle the throughput. We have a staging deployment now https://forgejo.apps.ocp.stg.fedoraproject.org
Moved to https://codeberg.org/fedora/forgejo-deployment/issues/14
Metadata Update from @ryanlerch: - Issue status updated to: Closed (was: Open)