47 lines
1.7 KiB
Markdown
47 lines
1.7 KiB
Markdown
# 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.*
|