85 lines
3.1 KiB
Markdown
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
|
|
|