Code Monkey home page Code Monkey logo

centos-boot's Introduction

Goals

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

Status

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

This project was migrated from a gitlab repo and currently container images point to that repository. Reworking the build system is in progress!

Trying it out

See install.md.

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. openshift/os#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

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 ELN 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: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)

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/

Badges

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

centos-boot's People

Contributors

cgwalters avatar lmilbaum avatar platform-engineering-bot avatar rhatdan avatar stuartwdouglas avatar

Forkers

ozanunsal

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.