diff --git a/.mdl_style.rb b/.mdl_style.rb new file mode 100644 index 0000000..b7fb25e --- /dev/null +++ b/.mdl_style.rb @@ -0,0 +1,3 @@ +all +rule 'MD009', :br_spaces => 2 +rule 'MD013', :ignore_code_blocks => true diff --git a/.mdlrc b/.mdlrc new file mode 100644 index 0000000..1f82ca2 --- /dev/null +++ b/.mdlrc @@ -0,0 +1 @@ +style '.mdl_style.rb' diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..c27f9fa --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,31 @@ +--- +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: end-of-file-fixer + - id: trailing-whitespace + args: + - --markdown-linebreak-ext=md + - id: check-docstring-first + - id: requirements-txt-fixer + - id: check-merge-conflict + - id: no-commit-to-branch + args: + - "--branch" + - "main" + - id: check-symlinks + - id: detect-private-key + - id: detect-aws-credentials + args: + - --allow-missing-credentials + - id: check-json + - id: check-yaml + - repo: https://github.com/markdownlint/markdownlint + rev: v0.12.0 + hooks: + - id: markdownlint + - repo: https://github.com/maxbrunet/pre-commit-renovate + rev: 35.82.0 + hooks: + - id: renovate-config-validator diff --git a/README.md b/README.md index c9b0727..c954d99 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,19 @@ 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`. +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 +## Operating system sources At the moment these demonstration builds use Fedora 38 and CentOS Stream 9. -# Tiers +## Tiers -## Tier 0 +### Tier 0 This is the basic tier; it has effectively just: @@ -22,7 +24,7 @@ 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 +### Tier 1 This is larger system. @@ -35,67 +37,76 @@ 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) +## 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) +## 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-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) +- `registry.gitlab.com/centos/cloud/sagano/centos-boot-tier-1-rt:stream9` + (realtime kernel) -# Image matrix (Fedora development) +## 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 +### 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 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 +## 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 +```shell +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`. +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/ +More information at -# Plan +## Plan -## Phase 0 +### Phase 0 -- Merge this repository into https://gitlab.com/fedora/boot-container-base (e.g.) +- Merge this repository into (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 +- 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 +### 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 +- Change [fedora-coreos-config](https://github.com/coreos/fedora-coreos-config/) + to inherit from this as a git submodule +- (?) Fork into something under + and start building C9S versions there? +- -# Badges +## Badges | Badge | Description | Service | | ----------------------- | -------------------- | ------------ | | [![Renovate][1]][2] | Dependencies | Renovate | +| [![Pre-commit][3]][4] | Static quality gates | pre-commit | [1]: https://img.shields.io/badge/renovate-enabled-brightgreen?logo=renovate [2]: https://renovatebot.com +[3]: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit +[4]: https://pre-commit.com/