Blob Blame History Raw
# Atomic Host

Atomic Host is a lightweight, immutable platform, designed with
the sole purpose of running containerized applications.

## The `atomic` module

The atomic module defines the package set required for
running a fully featured, module-based Atomic Host.  Unlike
Host & Platform, the module is not split into userspace and
hardware-enabling parts.  Instead, it's a well integrated, faster
moving module capable of booting on various configurations,
running as an OSTree image and managing containerized
applications.

`atomic` builds against `bootstrap` & `shim` and requires `shim`
at runtime.

Only one stream with rolling updates will be supported.  Since no
other modules build against `atomic`, the module technically
doesn't need a stable API.  The `platform` module will provide
the base container image for applications (modules) running on
top of Atomic Host.

### Initial development

The initial proof-of-concept module was put together using the *Host &
Platform* tools:

* [Host & Platform content definition](https://github.com/fedora-modularity/hp)
* [Package lists & module generators](https://github.com/fedora-modularity/baseruntime-package-lists)

The content definition lists packages that define Atomic
Host, along with SRPM and architecture availability hints.
This user-curated input is then passed to the package lists &
module generators that resolve dependencies using a Host &
Platform development Rawhide snapshot repodata.  The resolved
per-architecture package lists are then merged, the matching
dist-git commits found and the modulemd file included in this
repo is generated.

To fetch the latest modulemd file, simply invoke `make update`
in this repository.

### Long-term plans

*To be done.*