Map of critical services

This document provides readers with a map of all critical services hosted by Fedora infra and their relationship with each other. It also contains a description of each app and reason why it’s considered critical.

fedora infra diagram.drawio
Figure: Map of critical services

Metadata providers

Name Description Why it’s critical? Hostname


PDC (Product Definition Center) provides API that contains information about composes, releases, packages, repositories etc..

Plenty of other services in Fedora Infra are depending on the information stored in PDC and will stop to work when the PDC is not available.


mdapi (MetaData API) is similar to PDC in a way that it provides API that allows users to obtain various metadata about Fedora packages. It contains information that is not available in PDC.

Plenty of other services in Fedora Infra are depending on the information stored in mdapi and will stop to work when the mdapi is not available.

Hosted in OpenShift


Name Description Why it’s critical? Hostname


Nagios is used by Fedora Infrastructure to watch the state of all the hardware we have available in Fedora infrastructure. It alerts members of Fedora Infra about any potential problem happening in infrastructure.

Nagios is essential for monitoring infrastructure and without it Fedora infra team will be in dark. - internal - external


Monitor gating is service that runs dummy package through whole gating process. It files issue when any error happens.

Monitor gating helps us keeping eye on the health of the whole gating process and packaging workflow.

Hosted in OpenShift

Infra tools

Name Description Why it’s critical? Hostname


Toddlers are a collection of fedora messaging consumers that are listening for various fedora messages and trigger tasks based on those messages.

Some of the tasks executed by toddlers are essential for whole Fedora Community.

Hosted in OpenShift


Mirror from Pagure is a service that is mirroring git repositories to/from pagure to another git repository.

Ansible repository containing all deployment playbooks for Fedora Infrastructure needs to be hosted on both Pagure and directly on batcave (entry machine for fedora infra) in case the Pagure wouldn’t work. mirror_from_pagure is taking care of that.


Name Description Why it’s critical? Hostname


Noggin is a frontend for FreeIPA service and serves as a community facing part of Fedora Authentication Server (FAS).

Without it the users wouldn’t be able to manage or access their Fedora accounts settings.

Hosted in OpenShift


FreeIPA is an identity management service which handles authentication of Fedora users in Fedora ecosystem.

Without FreeIPA nobody would be able to authenticate with any Fedora service.


Ipsilon is handling Single Sign-On (SSO) in Fedora ecosystem.

Without Ipsilon SSO in Fedora wouldn’t work. Plenty of web apps in Fedora using SSO as a main authentication system.


FASJson is a gateway that allows to query data from FreeIPA.

Without FASJson we will lack the easy way to query data from FreeIPA which will cause plenty of apps to stop working as intended.

Hosted in OpenShift


Client library for FASJson.

This library is used by various applications in Fedora infrastructure to communicate with FASJson. Issue with this library could cause these applications to stop working.

Not a service


Name Description Why it’s critical? Hostname


Python Package for Automatic Generation of RPM Release Fields and Changelogs. It’s triggered during Koji build.

Without rpmautospec some projects will lose the ability to automatically generate release fields and changelogs which will render those projects unbuildable. More specifically the macros used in spec files.

Not a service


Companion app for ResultsDB that allows users to waive the results (allowing the packaging to continue even if the tests are failing).

Without it the users wouldn’t be able to waive results.

Hosted in OpenShift


Contains database of results for Fedora gating tests run by OpenQA and Fedora CI.

Without it the tests results wouldn’t be stored anywhere and the following processing of the test results wouldn’t be possible. This would render test pipelines unusable.

Hosted in OpenShift


MBS (Module Build System) is used to build modules for Fedora.

Without MBS Fedora modules couldn’t be built.


This component is listening for Fedora CI announcement of tests results and then stores the results in resultsdb.

Without it the tests results from Fedora CI wouldn’t be stored, which would render Fedora CI unusable.

Hosted in OpenShift


OSBS (OpenShift Build System) is used to build container images for Fedora.

Without OSBS Fedora containers couldn’t be built. osbs-node0{1-2} osbs-aarch64-node0{1-2}

Koji builders

Koji builders are machines of various architectures used by Koji to build the artifacts.

Without koji builders no artifact could be built.

buildvm-{x86,a64,ppc64le,a32}-{01-XX} buildvm-s390x-{01-XX}


Greenwave is a component that decides whether the package can pass gating or not.

Without Greenwave the packages will be stuck in the queue waiting for gating approval.

Hosted in OpenShift


Koji is a build system handling artifact building.

Without Koji we wouldn’t be able to build any artifact.



Bodhi is a system that manages package updates for Fedora distribution.

Without Bodhi packagers couldn’t submit new updates for existing packages.


Fedora messaging consumer that automatically signs artifacts.

Without Robosignatory no artifact would be automatically signed.


Koji plugin that automatically generates dist repositories on tag operations.

Without tag2distrepo packagers wouldn’t be able to create repositories on specific tag.



Component that does signing of the artifacts. Called by robosignatory.

Without sigul nothing in Fedora could be signed.


Koschei is a software for running a service for scratch-rebuilding RPM packages in Koji instance when their build-dependencies change or after some time elapse.

Without Koschei we wouldn’t have automatic rebuild of packages on dependencies change.

Hosted in OpenShift


Pagure-dist-git is a plugin for Pagure which forms the base for web interface of Fedora dist-git.

Without pagure-dist-git there wouldn’t be any web interface for dist-git for Fedora.


Dist-git is used to initialize distribution git repository for Fedora.

Without dist-git we wouldn’t be able to initialize new distribution git repository for Fedora.

Not a service

Messaging bus

Name Description Why it’s critical? Hostname


RabbitMQ is a message broker used by fedora messaging. It assures that the message is delivered from publisher to consumer.

Without it the messages will not be delivered and most of the infra will stop working.


fedora messaging

Python library for working with fedora messaging system. It helps you create fedora messaging publishers and consumers. Fedora messages are the main way the applications communicate with each other in Fedora infrastructure.

When there will be an issue with fedora messaging library it could cause issues with fedora messages and affect whole Fedora infrastructure.

Not a service

Community facing

Name Description Why it’s critical? Hostname


GNU Mailman 3 is a set of apps used by Fedora to manage all their mailing lists.

Without Mailman3 mailing lists and archives wouldn’t work.


Pagure is a git forge used by Fedora project. It is a main component of Fedora dist-git as well.

Without pagure most of the projects git repositories and issue trackers in Fedora are not available.


Mediawiki is used by Fedora as their choice of Wikipedia-like web server. It’s powering Fedora wiki pages.

Without wiki Fedora wiki pages wouldn’t run.



FMN (FedMSG Notifications) is an application listening for messages in Fedora infra and based on the message sends notifications to users in Fedora projects.

Without FMN no notifications will be sent in Fedora Infra.

Fedora Release

Name Description Why it’s critical? Hostname


Pungi is a tool that creates composes of Fedora. It makes sure that all required packages are included in the compose and the compose is available after finishing.

Without pungi it would be much harder to create composes of Fedora.


Mirrormanager is used to manage all the mirrors that are providing fedora packages.

Without it Fedora infra wouldn’t be able to manage all the mirrors of Fedora and DNF wouldn’t be able to automatically provide the best mirror for users.


ODCS (On Demand Compose Service) provides users Fedora composes on demand. It generates an RPM repository with packages provided by the configuration.

Without ODCS Fedora wouldn’t be able to provide composes on demand.