#142 Webhook to Fedora Messaging gateway
Opened 2 months ago by abompard. Modified 2 months ago

We currently have multiple applications that receive a webhook from an online app and turn the content into a Fedora Messaging message. Some of them are very old and are still using fedmsg, others are kinda recent and more maintainable (with tests, CI, etc).

It would simplify our setup and our maintenance to regroup all that in a single app with multiple endpoints. There's been an investigation on this subject already: https://fedora-arc.readthedocs.io/en/latest/webhook2fedmsg/


My first impression of this project is that it seems to be a totally new project. On my first read of both the ARC investigation and the original CPE Initiatives ticket, I don't see a tech stack defined for this project. It is important to know what general skills would be needed for an intern to be successful for this project. Do we know what programming languages, frameworks, and other tools would be needed to build this application?

Also, how would an applicant be evaluated on their work? Is there another project or repository that applicants would contribute to in order to showcase their skills before the selection deadline?

Technically, the proposed project is a logical successor to one of our existing projects in Fedora Infrastructure, GitHub2Fedmsg that we plan to retire once we build something a lot more generic to allow for webhooks from other services too.

From what I understand of the project requirement, we will appreciate it if the participant has experience in at least half of the below-mentioned technologies and we can help them learn the rest during the development timeline.

  1. Working with Identity, Policy and Audit technologies like FreeIPA
  2. Interacting with webhooks from various services (e.g. Discourse, GitHub etc.)
  3. Developing both clients and servers for HTTP requests (Using Flask or FastAPI)
  4. Integrating lifecycle with continuous integration services (like GitHub Actions or Zuul CI)
  5. Understanding of testcase based development methodology (with Tox, Ruff, Pytest etc.)
  6. Understanding of messaging queues in general (with Fedora Messaging)
  7. Working on disposable development environments (with Podman, Vagrant, Docker etc.)
  8. Developing browser frontend applications (Using VueJS)

There are a bunch of projects on the fedora-infra namespace on GitHub that use a subset of the technologies mentioned above required where the applicants can contribute for us to have an understanding of how skilled they are.

@jflory7 I hope this answers your questions. Do you want us to add this information to the ARC document too? @abompard Please feel free to correct me if I mentioned some technological stack that you did not have in mind for the said project.

Metadata Update from @t0xic0der:
- Issue tagged with: Outreachy, project-idea

2 months ago

This project is accepted for the May 2023 Outreachy round. This means that this project will be shown to Outreachy applicants starting on March 4th, 2024. Applicants will begin appearing in project communication channels looking to make first contributions during the evaluation phase. More info and guidance will be provided by the Mentored Projects Team in the coming weeks.

Please use this issue to raise questions about the Mentored Projects program, Outreachy, or general guidance on mentoring.

Thank you for submitting your project and helping us reach the Fedora 2028 Strategy goal to increase mentoring in the Fedora community! :muscle:


Some specific questions and feedback for this proposal:

  1. Add this list of skills into the project skills section in the Outreachy portal please. See screenshot below for what I am referring to, along with what is currently listed there.
  2. List out which specific repository or repositories that applicants should be directed to. Are there "good first issues" already created? Please create a clear onboarding pathway for new applicants to specific projects that are relevant to this project proposal.

Screenshot of "Project Skills" section in the Outreachy project overview page on outreachy.org

Metadata Update from @jflory7:
- Issue set to the milestone: Outreachy 2024

2 months ago

Metadata Update from @jflory7:
- Issue tagged with: approved

2 months ago

Login to comment on this ticket.

Metadata