Go to file
Colin Walters 2e504b14f6
Merge pull request #3 from lmilbaum/ci
Ci
2023-11-01 13:51:05 -04:00
.github/workflows GitHub Actions CI 2023-11-01 19:37:45 +02:00
tier-0 Enable readonly sysroot via config file 2023-10-21 16:03:18 -04:00
tier-1 tier-1: Drop qemu emulators 2023-10-29 10:17:18 -04:00
.gitlab-ci.yml Enable pre-commit 2023-10-30 22:27:12 +02:00
.mdl_style.rb pre-commit enabled 2023-10-30 23:14:50 +02:00
.mdlrc pre-commit enabled 2023-10-30 23:14:50 +02:00
.pre-commit-config.yaml pre-commit enabled 2023-10-30 23:14:50 +02:00
COPYING Enable pre-commit 2023-10-30 22:27:12 +02:00
LICENSE Initial split from Fedora CoreOS 2022-12-09 15:32:25 -05:00
README.md README 2023-11-01 16:35:02 +02:00
c9s.repo Fix typo 2023-03-04 09:45:57 -05:00
centos-stream-9.yaml Introduce a tier-0 image 2023-09-15 15:11:01 -04:00
centos-tier-0-rt-stream9.yaml Enable pre-commit 2023-10-30 22:27:12 +02:00
centos-tier-0-stream9.yaml Enable pre-commit 2023-10-30 22:27:12 +02:00
centos-tier-1-rt-stream9.yaml Introduce a tier-0 image 2023-09-15 15:11:01 -04:00
centos-tier-1-stream9.yaml Enable pre-commit 2023-10-30 22:27:12 +02:00
cloud-agents.md README 2023-11-01 16:35:02 +02:00
copr-coreos-continuous.repo Enable pre-commit 2023-10-30 22:27:12 +02:00
copr-fedora-bootc.repo Add bootc proper package to -dev 2023-09-21 18:40:50 -04:00
copr-fedora-dnf.repo Enable pre-commit 2023-10-30 22:27:12 +02:00
coreos.md README 2023-11-01 16:35:02 +02:00
fedora-dev.yaml tier-1: Add dnf (and for -dev, fetch from copr) 2023-09-22 10:57:29 -04:00
fedora-eln.repo Enable pre-commit 2023-10-30 22:27:12 +02:00
fedora-next.repo Add a c9s build 2022-12-09 15:52:45 -05:00
fedora-rawhide.repo Add a c9s build 2022-12-09 15:52:45 -05:00
fedora-tier-0-38.yaml fedora: Use updates-testing to faster-track things 2023-09-20 16:07:36 -04:00
fedora-tier-0-dev-38.yaml Add -dev images that pull from COPR 2023-09-21 13:12:37 -04:00
fedora-tier-0-dev-eln.yaml Add -dev eln versions too 2023-10-11 13:37:49 -04:00
fedora-tier-0-eln.yaml eln: Adjust releasever to 39 for now for COPR 2023-10-11 14:13:04 -04:00
fedora-tier-1-38.yaml fedora: Use updates-testing to faster-track things 2023-09-20 16:07:36 -04:00
fedora-tier-1-dev-38.yaml Add bootc proper package to -dev 2023-09-21 18:40:50 -04:00
fedora-tier-1-dev-eln.yaml Add -dev eln versions too 2023-10-11 13:37:49 -04:00
fedora-tier-1-eln.yaml eln: Adjust releasever to 39 for now for COPR 2023-10-11 14:13:04 -04:00
fedora.repo Add a c9s build 2022-12-09 15:52:45 -05:00
install.md README 2023-11-01 16:35:02 +02:00
renovate.json Update renovate.json 2023-11-01 08:22:44 +02:00

README.md

Sagano

For many years, we've had Linux and containers operating in connected but separate worlds. Today, we are excited to announce that we are bringing these worlds together. We're making the ecosystem of content available to you in containers, now to your core Linux systems. Containers now become the language for building the OS. Boot them to your core Linux systems. Modify them in a Containerfile/Dockerfile. Whether standalone images to modify as you see fit in your datacenter, immutable images at the edge or worker nodes in Kubernetes/OpenShift - one, consistent approach. We're always striving to make developing applications across the hybrid cloud easier and to make your IT landscape easier to manage even as you face increasing complexity. And we hope you are as excited about this as we are.

Goals

This project's toplevel goal is to create "base" bootable container images from Fedora ELN and CentOS Stream packages.

Trying it out

See install.md.

Status

This is an in-development project not intended for production use yet.

Differences from Fedora CoreOS

Fedora CoreOS today is not small; there are multiple reasons for this, but primarily because it was created in a pre-bootable-container time. Not everyone wants e.g. moby-engine.

But going beyond size, the images produced by this project will focus on a container-native flow. We will ship a (container) image that does not include Ignition for example.

Differences from RHEL CoreOS

We sometimes say that RHEL CoreOS has FCOS as an upstream but this is only kind of true; RHEL CoreOS includes a subset of FCOS content, and is lifecycled with OCP.

An explicit goal of this project is to produce bootable container images that can be used as base images for RHEL CoreOS; for more on this, see e.g. https://github.com/openshift/os/issues/799

Differences from RHEL for Edge

It is an explicit goal that Sagano also becomes a "base input" to RHEL for Edge.

What does Sagano means

From Wikipedia:

Bamboo Forest, Arashiyama Bamboo Grove or Sagano Bamboo Forest, is a natural forest of bamboo in Arashiyama, Kyoto, Japan

Demonstration base images for Project Sagano

This is part of Project Sagano.

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/centos/cloud/sagano/fedora-boot-tier-0:38
  • registry.gitlab.com/centos/cloud/sagano/fedora-boot-tier-1:38
  • registry.gitlab.com/centos/cloud/sagano/fedora-boot-tier-0:eln
  • registry.gitlab.com/centos/cloud/sagano/fedora-boot-tier-1:eln

Image matrix (CentOS Stream 9)

  • registry.gitlab.com/centos/cloud/sagano/centos-boot-tier-0:stream9
  • registry.gitlab.com/centos/cloud/sagano/centos-boot-tier-0-rt:stream9 (realtime kernel)
  • registry.gitlab.com/centos/cloud/sagano/centos-boot-tier-1:stream9
  • registry.gitlab.com/centos/cloud/sagano/centos-boot-tier-1-rt:stream9 (realtime kernel)

Image matrix (Fedora development)

These images pull from git main/master of RPMs using COPRs for selected projects.

  • registry.gitlab.com/centos/cloud/sagano/fedora-boot-tier-0-dev:38
  • registry.gitlab.com/centos/cloud/sagano/fedora-boot-tier-1-dev:38

More about image sources

The current manifest definitions tier-0 and 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

Phase 1

Badges

Badge Description Service
Renovate Dependencies Renovate
Pre-commit Static quality gates pre-commit