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
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