========================
About ODCS
========================

The ODCS (On Demand Compose Service) is a service allowing to generate temporary
compose (mainly the RPM repository) with packages from Koji using the REST API.

The compose is generated using the standard composing tool used in Fedora
called Pungi. It is therefore close to how the real composes are generated.

You can use ODCS to for example generate following composes:

- RPM repository with set of RPMs from Koji tag.
- RPM repository with modules including the modular metadata.
- RPM repository with certain set of RPMs from particular Koji builds.
- RPM repository with packages from Koji tag and some cherry-picked RPMs on top of that.

ODCS composes
=============

The ODCS compose is represented by its ID and its metadata is accessible in the REST API, for example here:

https://odcs.fedoraproject.org/api/1/composes/179

The ODCS compose has following states:

- wait - Compose is waiting in a queue to be generated.
- generating - Compose is being generated by one of the backends.
- done - Compose is generated.
- removed - Compose has been removed.
- failed - Compose generation has failed.

To submit new compose request, you can use the ODCS REST API or command line client.

Once the compose is generated successfully, it is available on URL defined in the API by
``result_repo`` field and its .repo file defined in ``result_repofile`` field.

ODCS composes are always temporary. They are removed after certain time (usually after few days).
they can then be regenerated and will contain the same set of RPMs are originally.
