Administration
==============
This guide will take you through installation and configuration process of
The New Hotness, so you are able to run The New Hotness in your own infrastructure.
Installation
------------
The New Hotness is available through `PyPi `_.
Prior to the installation itself there are few dependencies that need to be on the system.
Because The New Hotness is running in Fedora infrastructure so this guide assumes you
are running Fedora as your main system and thus need to install following packages. These tools
are used by The New Hotness to work with the packages::
$ sudo dnf install -y fedpkg rpmdevtools
You can install the latest version by running::
$ pip install the-new-hotness
External systems
----------------
The New Hotness communicates with multiple external systems to provide all the functionality.
To be able to use maximum potential of The New Hotness, you need to connect it to following
external systems:
* `mdapi `_
Metadata API hosted by Fedora. The New Hotness uses it to look for the newest build in koji.
* `bugzilla `_
The New Hotness is looking for existing issue for the package in bugzilla and if
none is found creates one.
* `anitya `_
The New Hotness is consuming fedora messages from Anitya and looking for updates
of the packages that we want to process.
* `Redis `_
Redis is used as a cache for saving data that we would need later by the-new-hotness. For
example koji build id mapping to bugzilla ticket.
* `koji `_
Koji is a build system used to start scratch builds. First we need to upload sources
to lookaside cache and than we can start the build.
* `pagure `_
Dist-git system used by Fedora containing notification settings for The New Hotness and is checked
if the package even exists and also if it is retired.
Configuration
-------------
The New Hotness configuration is read from the `consumer_config` section of the
`fedora messaging configuration `_.
The configuration is using the TOML format and the sample could be found below.
.. include:: ../config/config.toml.example
:literal: