From 3f5b6fd4c3238be5231abcba90fdba91b7520976 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kone=C4=8Dn=C3=BD?= Date: Mon, 23 May 2022 19:15:47 +0200 Subject: [PATCH] Add map of the critical infra applications MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit adds map to documentation together with tables describing every app that is part of the map. Signed-off-by: Michal Konečný --- .../assets/images/fedora_infra_diagram.drawio | 2 +- .../images/fedora_infra_diagram.drawio.svg | 2 +- modules/ROOT/nav.adoc | 1 + modules/ROOT/pages/map_critical_services.adoc | 224 ++++++++++++++++++ 4 files changed, 227 insertions(+), 2 deletions(-) create mode 100644 modules/ROOT/pages/map_critical_services.adoc diff --git a/modules/ROOT/assets/images/fedora_infra_diagram.drawio b/modules/ROOT/assets/images/fedora_infra_diagram.drawio index 055b09e..1998747 100644 --- a/modules/ROOT/assets/images/fedora_infra_diagram.drawio +++ b/modules/ROOT/assets/images/fedora_infra_diagram.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/modules/ROOT/assets/images/fedora_infra_diagram.drawio.svg b/modules/ROOT/assets/images/fedora_infra_diagram.drawio.svg index 8fb4efd..bab6d8c 100644 --- a/modules/ROOT/assets/images/fedora_infra_diagram.drawio.svg +++ b/modules/ROOT/assets/images/fedora_infra_diagram.drawio.svg @@ -1,4 +1,4 @@ -
Messaging bus
Messaging bus
Monitoring
Monitoring
Metadata providers
Metadata providers
Authentication
Authentication
Packaging
Packaging
Trigger tests
Trigger tests
Bodhi
Bodhi
Build succeded
Build succeded
Pending signing
Pending signing
Pull spec file
 and sources
Pull spec file...
Koji
Koji
Pagure
Pagure
mirrormanager
mirrormanager
toddlers
toddlers
Frontend for
Frontend for
noggin
noggin
mdapi
mdapi
Used to
 generate
 spec files
Used to...
rpmautospec
rpmautospec
Plugin for
Plugin for
pagure-dist-git
pagure-dist-git
monitor-gating
monitor-gating
mirror_from_pagure
mirror_from_pagure
fedora messaging
fedora messaging
PDC
PDC
Apps maintained by Fedora Infra
Apps maintained by F...
FMN
FMN
Signed
Signed
sigul
sigul
Sign packages
Sign packages
robosignatory
robosignatory
Plugin for
Plugin for
Create dist repository
Create dist repository
tag2distrepo
tag2distrepo
Save results
Save results
ci-resultsdb-listener
ci-resultsdb-listener
Announce new results
Announce new results
resultsdb
resultsdb
Nagios
Nagios
Tracks changes
Tracks changes
Koschei
Koschei
wiki
wiki
Waive the result
Waive the result
waiverdb
waiverdb
Announce decision
Announce decision
greenwave
greenwave
ODCS
ODCS
Mailman3
Mailman3
Uses for building
Uses for building
OSBS
OSBS
pungi
pungi
Uses for building
Uses for building
MBS
MBS
IPA
IPA
Message broker for
Message broker for
RabbitMQ
RabbitMQ
Apps not maintained by Fedora Infra
Apps not maintained...
GeoIP
GeoIP
SSO
SSO
Ipsilon
Ipsilon
Initializes
 dist git
Initializes...
dist-git
dist-git
Announce results
Announce results
OpenQA
OpenQA
Not hosted by Fedora Infra
Not hosted by Fedora...
Community facing
Community facing
Infra tools
Infra tools
Fedora release
Fedora release
Text is not SVG - cannot display
\ No newline at end of file +
Fedora release
Fedora release
Messaging bus
Messaging bus
Monitoring
Monitoring
Metadata providers
Metadata providers
Authentication
Authentication
Packaging
Packaging
Trigger tests
Trigger tests
Bodhi
Bodhi
Build succeded
Build succeded
Pending signing
Pending signing
Pull spec file
 and sources
Pull spec file...
Koji
Koji
Pagure
Pagure
mirrormanager
mirrormanager
toddlers
toddlers
Frontend for
Frontend for
noggin
noggin
mdapi
mdapi
Used to
 generate
 spec files
Used to...
rpmautospec
rpmautospec
Plugin for
Plugin for
pagure-dist-git
pagure-dist-git
monitor-gating
monitor-gating
mirror_from_pagure
mirror_from_pagure
fedora messaging
fedora messaging
PDC
PDC
Apps maintained by Fedora Infra
Apps maintained by F...
FMN
FMN
Signed
Signed
sigul
sigul
Sign packages
Sign packages
robosignatory
robosignatory
Plugin for
Plugin for
Create dist repository
Create dist repository
tag2distrepo
tag2distrepo
Save results
Save results
ci-resultsdb-listener
ci-resultsdb-listener
Announce new results
Announce new results
resultsdb
resultsdb
Nagios
Nagios
Tracks changes
Tracks changes
Koschei
Koschei
wiki
wiki
Waive the result
Waive the result
waiverdb
waiverdb
Announce decision
Announce decision
greenwave
greenwave
ODCS
ODCS
Mailman3
Mailman3
Uses for building
Uses for building
OSBS
OSBS
pungi
pungi
Uses for building
Uses for building
MBS
MBS
IPA
IPA
Message broker for
Message broker for
RabbitMQ
RabbitMQ
Apps not maintained by Fedora Infra
Apps not maintained...
SSO
SSO
Ipsilon
Ipsilon
Initializes
 dist git
Initializes...
dist-git
dist-git
Announce results
Announce results
OpenQA
OpenQA
Not hosted by Fedora Infra
Not hosted by Fedora...
Community facing
Community facing
Infra tools
Infra tools
Querying
Querying
fasjson
fasjson
Client library for
Client library for
fasjson-client
fasjson-client
Text is not SVG - cannot display
\ No newline at end of file diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 507a910..b3645f1 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -1,6 +1,7 @@ * xref:overview.adoc[A global overview] * xref:day_to_day_fedora.adoc[Working with Fedora Infrastructure] * xref:join.adoc[Join the team] +* xref:map_critical_services.adoc[Map of critical services] * xref:services.adoc[List of our services] ** xref:services.adoc#_accounts[Account management] ** xref:services.adoc#_community[Community apps] diff --git a/modules/ROOT/pages/map_critical_services.adoc b/modules/ROOT/pages/map_critical_services.adoc new file mode 100644 index 0000000..b8f420e --- /dev/null +++ b/modules/ROOT/pages/map_critical_services.adoc @@ -0,0 +1,224 @@ += 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. + +.Map of critical services +[#img-critical-map] +[caption="Figure: "] +image::fedora_infra_diagram.drawio.svg[link="../_images/fedora_infra_diagram.drawio.svg"] + +== Messaging bus +[cols="1,1,1"] +|=== +|Name |Description |Why it's critical? + +|https://www.rabbitmq.com/[RabbitMQ] +|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. + +|https://github.com/fedora-infra/fedora-messaging[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. +|=== + +== Fedora Release +[cols="1,1,1"] +|=== +|Name |Description |Why it's critical? + +|https://pagure.io/pungi[pungi] +|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. + +|https://github.com/fedora-infra/mirrormanager2[mirrormanager] +|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. + +|https://pagure.io/odcs[ODCS] +|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. +|=== + +== Metadata providers +[cols="1,1,1"] +|=== +|Name |Description |Why it's critical? + +|https://github.com/product-definition-center/product-definition-center[PDC] +|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. + +|https://pagure.io/mdapi[mdapi] +|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. +|=== + +== Monitoring +[cols="1,1,1"] +|=== +|Name |Description |Why it's critical? + +|https://www.nagios.org/[Nagios] +|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. + +|https://pagure.io/fedora-ci/monitor-gating[monitor-gating] +|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. +|=== + +== Infra tools +[cols="1,1,1"] +|=== +|Name |Description |Why it's critical? + +|https://pagure.io/fedora-infra/toddlers[toddlers] +|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. + +|https://pagure.io/fedora-infra/mirror_from_pagure[mirror_from_pagure] +|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. +|=== + +== Authentication +[cols="1,1,1"] +|=== +|Name |Description |Why it's critical? + +|https://github.com/fedora-infra/noggin[noggin] +|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. + +|https://www.freeipa.org/page/Main_Page[IPA] +|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. + +|https://ipsilon-project.org/[Ipsilon] +|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. + +|https://github.com/fedora-infra/fasjson[fasjson] +|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. + +|https://github.com/fedora-infra/fasjson-client[fasjson-client] +|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. +|=== + +== Packaging +|=== +|Name |Description |Why it's critical? + +|https://pagure.io/waiverdb[waiverdb] +|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. + +|https://pagure.io/taskotron/resultsdb[resultsdb] +|Contains database of results for Fedora gating tests run by OpenQA. +|Without it the package gating wouldn't work, because the results aren't stored anywhere. + +|https://pagure.io/ci-resultsdb-listener[ci-resultsdb-listener] +|This component is listening for OpenQA announcement of tests results and then stores the results in resultsdb. +|Without it the tests results wouldn't be stored and the package gating wouldn't work. + +|https://github.com/containerbuildsystem/osbs-client[OSBS] +|OSBS (OpenShift Build System) is used to build container images for Fedora. +|Without OSBS Fedora containers couldn't be built. + +|https://pagure.io/fm-orchestrator[MBS] +|MBS (Module Build System) is used to build modules for Fedora. +|Without MBS Fedora modules couldn't be built. + +|https://pagure.io/greenwave[greenwave] +|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. + +|https://pagure.io/koji/[Koji] +|Koji is a build system handling RPM package building. +|Without Koji we wouldn't be able to build any RPM package. + +|https://github.com/fedora-infra/bodhi[Bodhi] +|Bodhi is a system that manages package updates for Fedora distribution. +|Without Bodhi packagers couldn't submit new updates for existing packages. + +|https://pagure.io/robosignatory[robosignatory] +|Fedora messaging consumer that automatically signs artifacts. +|Without Robosignatory no artifact would be automatically signed. + +|https://pagure.io/releng/tag2distrepo[tag2distrepo] +|Koji plugin that automatically generates dist repositories on tag operations. +|Without tag2distrepo packagers wouldn't be able to create repositories on specific tag. + +|https://pagure.io/sigul[sigul] +|Component that does signing of the artifacts. Called by robosignatory. +|Without sigul nothing in Fedora could be signed. + +|https://github.com/release-engineering/dist-git[dist-git] +|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. + +|https://github.com/fedora-infra/koschei[Koschei] +|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. + +|https://pagure.io/pagure-dist-git[pagure-dist-git] +|Pagure-dist-git is a plugin for Pagure which forms the base for web interface of Fedora +https://src.fedoraproject.org/[dist-git]. +|Without pagure-dist-git there wouldn't be any web interface for dist-git for Fedora. + +|https://pagure.io/fedora-infra/rpmautospec[rpmautospec] +|Python Package for Automatic Generation of RPM Release Fields and Changelogs. +|Without rpmautospec some projects will lose the ability to automatically generate release fields +and changelogs which will render those projects unbuildable. +|=== + +== Community facing +|=== +|Name |Description |Why it's critical? + +|https://wiki.list.org/Mailman3[Mailman3] +|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. + +|https://pagure.io/pagure[Pagure] +|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. + +|https://www.mediawiki.org/[wiki] +|Mediawiki is used by Fedora as their choice of Wikipedia-like web server. It's powering +https://fedoraproject.org/wiki[Fedora wiki pages]. +|Without wiki Fedora wiki pages wouldn't run. + +|https://github.com/fedora-infra/fmn[FMN] +|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. +|===