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/