From Fedora Project Wiki
No edit summary
No edit summary
Line 15: Line 15:
= Base Container Images =
= Base Container Images =


Inputs: RPMs built in Koji
* Inputs: RPMs built in Koji
Outputs: Docker container images
* Outputs: Docker container images
Build system: Koji
* Build system: Koji


= Layered Container Images =
= Layered Container Images =


Inputs: Source-to-image git repos, RPMs built in Koji (official images), RPMs built in COPR (unofficial images)
* Inputs: Source-to-image git repos, RPMs built in Koji (official images), RPMs built in COPR (unofficial images)
Outputs: Docker container images
* Outputs: Docker container images
Build system: Koji (official images), DOPR (unofficial images)
* Build system: Koji (official images), DOPR (unofficial images)


= OSTree Images =
= OSTree Images =


Inputs: RPMs built in Koji
* Inputs: RPMs built in Koji
Outputs: rpm-ostree trees
* Outputs: rpm-ostree trees
Build system: Koji
* Build system: Koji


= Machine Images =
= Machine Images =


Inputs: RPMs built in Koji, container images built in Koji
* Inputs: RPMs built in Koji, container images built in Koji
Outputs: machine images (AMI, qcow2, etc)
* Outputs: machine images (AMI, qcow2, etc)
Build system: Koji
* Build system: Koji


= Live ISOs =
= Live ISOs =


Inputs: RPMs built in Koji, container images built in Koji
* Inputs: RPMs built in Koji, container images built in Koji
Outputs: Live CD/DVD/USB images
* Outputs: Live CD/DVD/USB images
Build system: Koji
* Build system: Koji


= Installer ISOs =
= Installer ISOs =


Inputs: RPMs built in Koji, container images built in Koji
* Inputs: RPMs built in Koji, container images built in Koji
Outputs: Installer CD/DVD/USB images
* Outputs: Installer CD/DVD/USB images
Build system: Koji
* Build system: Koji

Revision as of 12:55, 24 September 2015

Warning.png
This page is a draft only
It is still under construction and content may change. Do not rely on the information on this page.

Image Assembly Overview

The Env_and_Stacks/Projects/SoftwareComponentPipeline is designed to make it straightforward to automatically produce updated RPMs and RPM repositories from upstream components releases.

However:

  • not all upstream applications (especially web applications) are amenable to being disassembled into component RPMs
  • the high level "application glue code" that combines dependencies into a coherent application typically isn't designed for reuse
  • packaging things as RPMs is very helpful for building Fedora itself, but markedly less so when building things to run *on* Fedora

These recommendations cover the available approaches to assembling individual components produced by the software component pipeline into larger binary images for easier consumption.

Base Container Images

  • Inputs: RPMs built in Koji
  • Outputs: Docker container images
  • Build system: Koji

Layered Container Images

  • Inputs: Source-to-image git repos, RPMs built in Koji (official images), RPMs built in COPR (unofficial images)
  • Outputs: Docker container images
  • Build system: Koji (official images), DOPR (unofficial images)

OSTree Images

  • Inputs: RPMs built in Koji
  • Outputs: rpm-ostree trees
  • Build system: Koji

Machine Images

  • Inputs: RPMs built in Koji, container images built in Koji
  • Outputs: machine images (AMI, qcow2, etc)
  • Build system: Koji

Live ISOs

  • Inputs: RPMs built in Koji, container images built in Koji
  • Outputs: Live CD/DVD/USB images
  • Build system: Koji

Installer ISOs

  • Inputs: RPMs built in Koji, container images built in Koji
  • Outputs: Installer CD/DVD/USB images
  • Build system: Koji