bootc-base-images/README.md

85 lines
3.1 KiB
Markdown

# Demonstration base images for Project Sagano
This is part of [Project Sagano](https://gitlab.com/CentOS/cloud/issue-tracker/-/blob/main/README.md).
These images are technology demonstrators, not for production use. The intention is that these images are
generated by the OS vendor or distribution. Or, you can fork this repository and generate your own
via `rpm-ostree compose image`.
# Operating system sources
At the moment these demonstration builds use Fedora 38 and CentOS Stream 9.
# Tiers
## Tier 0
This is the basic tier; it has effectively just:
- kernel systemd selinux-policy-targeted bootc
You are generally going to need to generate derived images from this; installing
it on its own will boot to a system with no automatic networking support, no SSH,
and no default passwords etc.
## Tier 1
This is larger system.
- NetworkManager, chrony
- rpm-ostree (to install packages and in case it's useful "day 2")
- openssh-server
At the current time, it does not include Ignition or cloud-init; so you will
still need to derive from it in order to inject a mechanism to log in in many
cases. However, it will work to install it using e.g. Anaconda and set up
users and passwords that way.
# Image matrix (Fedora)
- `registry.gitlab.com/cgwalters-playground/sagano/fedora-boot-tier-0:38`
- `registry.gitlab.com/cgwalters-playground/sagano/fedora-boot-tier-1:38`
# Image matrix (CentOS Stream 9)
- `registry.gitlab.com/cgwalters-playground/sagano/centos-boot-tier-0:stream9`
- `registry.gitlab.com/cgwalters-playground/sagano/centos-boot-tier-0-rt:stream9` (realtime kernel)
- `registry.gitlab.com/cgwalters-playground/sagano/centos-boot-tier-1:stream9`
- `registry.gitlab.com/cgwalters-playground/sagano/centos-boot-tier-1-rt:stream9` (realtime kernel)
## More about image sources
The current manifest definitions [tier-0](tier-0) and [tier-1](tier-1) were forked from Fedora CoreOS, but significantly
cut down.
The existing content set is obviously subject to change and debate.
# Building
Here's an example command:
```
$ sudo rpm-ostree compose image --authfile ~/.config/containers/myquay.json --cachedir=cache -i --format=ociarchive centos-tier-0-stream9.yaml centos-tier-0-stream9.ociarchive
```
In some situations, copying to a local `.ociarchive` file is convenient. You can also push to a registry with `--format=registry`.
More information at https://coreos.github.io/rpm-ostree/container/
# Plan
## Phase 0
- Merge this repository into https://gitlab.com/fedora/boot-container-base (e.g.)
- Add these images to Fedora, but in the `fedoraci` namespace, [like ELN](https://docs.fedoraproject.org/en-US/eln/deliverables/).
- The images are [built via Pungi](https://pagure.io/pungi/pull-request/1699)
- The [sync container script](https://pagure.io/releng/pull-request/11180) is modified to include this
- Add this to CI tooling in Fedora
## Phase 1
- Change [fedora-coreos-config](https://github.com/coreos/fedora-coreos-config/) to inherit from this as a git submodule
- (?) Fork https://gitlab.com/fedora/boot-container-base into something under https://gitlab.com/CentOS/cloud/ and start building C9S versions there?
- https://gitlab.com/redhat/centos-stream