Skip to content

Commit 0ea34dc

Browse files
committed
Reflow
1 parent e4fe124 commit 0ea34dc

File tree

1 file changed

+38
-16
lines changed

1 file changed

+38
-16
lines changed

README.md

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,27 @@ Welcome to your brand-new Atomic AlmaLinux Respin!
66

77
### Set basic configuration
88

9-
In the ["Build image"](.github/workflows/build.yml) and ["Build ISOs"](.github/workflows/build-iso.yml) workflows, you'll find a `set-env` job where you can configure several key variables:
9+
In the ["Build image"](.github/workflows/build.yml) and ["Build ISOs"](.github/workflows/build-iso.yml)
10+
workflows, you'll find a `set-env` job where you can configure several key variables:
1011

1112
- `REGISTRY`: The container registry to push your image to (default: GitHub Container Registry `ghcr.io`).
1213
- `REGISTRY_USER`: Your username for the registry.
1314
- `IMAGE_PATH`: The path/namespace for your image.
1415
- `IMAGE_NAME`: The name of your image.
1516
- `PLATFORMS`: A quoted, comma-separated list of platforms to build for (e.g., `"amd64,arm64"`).
1617

17-
If your registry is not GitHub or you need a specific token, search for `REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }}` in the workflow files and replace it with the appropriate secret.
18+
If your registry is not GitHub or you need a specific token, search for `REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }}`
19+
in the workflow files and replace it with the appropriate secret.
1820

1921
### Pick a base desktop image
2022

21-
By default, this template uses the base image `quay.io/almalinuxorg/atomic-desktop-gnome:10`, maintained by the [AlmaLinux Atomic SIG](https://wiki.almalinux.org/sigs/Atomic.html). If you prefer KDE, you can use `quay.io/almalinuxorg/atomic-desktop-kde:10` instead.
23+
By default, this template uses the base image `quay.io/almalinuxorg/atomic-desktop-gnome:10`, maintained by the
24+
[AlmaLinux Atomic SIG](https://wiki.almalinux.org/sigs/Atomic.html). If you prefer KDE, you can use
25+
`quay.io/almalinuxorg/atomic-desktop-kde:10` instead.
2226

23-
To switch images, change the `FROM` line in the [Dockerfile](Dockerfile). If your image use a different signing key, download the new Cosign public key and specify its name in the `upstream-public-key` parameter in `.github/workflows/build.yml`, or remove the parameter to disable key verification.
27+
To switch images, change the `FROM` line in the [Dockerfile](Dockerfile). If your image use a different
28+
signing key, download the new Cosign public key and specify its name in the `upstream-public-key`
29+
parameter in `.github/workflows/build.yml`, or remove the parameter to disable key verification.
2430

2531
### Set up container signing (Optional, highly recommended)
2632

@@ -36,8 +42,11 @@ If you'd like to sign your images using Cosign:
3642
podman run --rm -it -v /tmp:/cosign-keys bitnami/cosign generate-key-pair
3743
```
3844
Leave the password blank. The keys will be in `/tmp/cosign.{key,pub}`.
39-
2. Add `cosign.pub` to the repository as `/cosign.pub`, commit, and push. This file is public and needed for signature verification. **NEVER** commit your `cosign.key` to the repo!!
40-
3. In GitHub repo settings, go to "Secrets and variables" > "Actions". Create a secret called `SIGNING_SECRET` and paste the contents of `cosign.key`. Store `cosign.key` securely and delete it from `/tmp`. You can also do this via the GitHub CLI:
45+
2. Add `cosign.pub` to the repository as `/cosign.pub`, commit, and push. This file is public and
46+
needed for signature verification. **NEVER** commit your `cosign.key` to the repo!!
47+
3. In GitHub repo settings, go to "Secrets and variables" > "Actions". Create a secret called
48+
`SIGNING_SECRET` and paste the contents of `cosign.key`. Store `cosign.key` securely and delete
49+
it from `/tmp`. You can also do this via the GitHub CLI:
4150
```bash
4251
gh secret set SIGNING_SECRET < cosign.key
4352
```
@@ -48,19 +57,24 @@ Now you're ready to make your respin your own!
4857

4958
### Adding files
5059

51-
Place any files you want to include in your image in [`/files/system/`](files/system/). The directory structure and permissions will be preserved. This is ideal for adding themes, backgrounds, configuration files, etc.
60+
Place any files you want to include in your image in [`/files/system/`](files/system/). The
61+
directory structure and permissions will be preserved. This is ideal for adding themes,
62+
backgrounds, configuration files, etc.
5263

5364
### Executing commands
5465

55-
Scripts in [`/files/scripts/`](files/scripts/) are run during image creation. The `build.sh` script copies files from `/files/system/` into the image, then runs all scripts in order, and finally runs `cleanup.sh`.
66+
Scripts in [`/files/scripts/`](files/scripts/) are run during image creation. The `build.sh`
67+
script copies files from `/files/system/` into the image, then runs all scripts in order,
68+
and finally runs `cleanup.sh`.
5669

5770
- Start by editing [`10-base.sh`](files/scripts/10-base.sh) to suit your needs.
5871
- Add more scripts as needed, using the naming scheme `XX-whatever.sh` (where `XX` is a number).
5972
- Do **not** modify `build.sh`, `cleanup.sh`, `90-signing.sh`, or `91-image-info.sh` unless you know what you're doing.
6073

6174
### Build your new image
6275

63-
After adding your files and scripts, commit your changes. The CI will build a new image for you automatically. You can also build locally:
76+
After adding your files and scripts, commit your changes. The CI will build a new image
77+
for you automatically. You can also build locally:
6478

6579
```sh
6680
make image
@@ -78,11 +92,13 @@ The provided `Makefile` includes several useful commands for local development a
7892
- `make run-qemu-qcow`: Boot the generated QCOW2 disk image in QEMU for testing.
7993
- `make run-qemu`: Boot the raw disk image in QEMU (after installation).
8094

81-
> **Note:** You may need `sudo` privileges and Podman installed. For more details, see the `Makefile`. QEMU is only optionally needed for local testing.
95+
> **Note:** You may need `sudo` privileges and Podman installed. For more details, see
96+
> the `Makefile`. QEMU is only optionally needed for local testing.
8297
8398
## Using your image with bootc
8499

85-
Your respin is designed to work with [bootc](https://github.com/containers/bootc), a tool for managing and updating container-based operating system images. Here are some basics to get you started:
100+
Your respin is designed to work with [bootc](https://github.com/containers/bootc), a tool for
101+
managing and updating container-based operating system images. Here are some basics to get you started:
86102

87103
### Installing your image
88104

@@ -94,7 +110,9 @@ Build or download the ISO for your image, boot into it and follow the installati
94110
> This is entirely unsupported and may not work at all. In fact, it probably doesn't
95111
> work at all and it's a terrible idea to even try. Don't do this.
96112
97-
If you're already running a bootc image and wish to change to this one, you may be able to do this via `bootc switch`. As you won't have the correct signing key or configuration, you'll have to disable it first:
113+
If you're already running a bootc image and wish to change to this one, you may be able to do
114+
this via `bootc switch`. As you won't have the correct signing key or configuration, you'll
115+
have to disable it first:
98116

99117
```sh
100118
sudo cp /etc/containers/policy.json /etc/containers/policy.json.old
@@ -116,13 +134,15 @@ this is entirely unsupported!!
116134

117135
### Upgrading your system
118136

119-
Once installed, your system will automatically check for updates in the background using a systemd unit provided by bootc. You can also manually trigger an upgrade:
137+
Once installed, your system will automatically check for updates in the background using a
138+
systemd unit provided by bootc. You can also manually trigger an upgrade:
120139

121140
```sh
122141
sudo bootc upgrade
123142
```
124143

125-
This will pull the latest image and prepare it for the next boot. On reboot, the system will run the new image version.
144+
This will pull the latest image and prepare it for the next boot. On reboot, the system
145+
will run the new image version.
126146

127147
### Checking status and troubleshooting
128148

@@ -137,13 +157,15 @@ This will pull the latest image and prepare it for the next boot. On reboot, the
137157

138158
## Continuous Integration (CI)
139159

140-
This template is set up with GitHub Actions workflows to build, test, and (optionally) sign your images automatically on every push or pull request. See the `.github/workflows/` directory for details.
160+
This template is set up with GitHub Actions workflows to build, test, and (optionally)
161+
sign your images automatically on every push or pull request. See the `.github/workflows/`
162+
directory for details.
141163

142164
## Troubleshooting
143165

144166
- **Build fails locally:** Ensure you have Podman and QEMU installed, and that you have the necessary permissions (try running with `sudo`).
145167
- **CI build fails:** Check the Actions tab in GitHub for logs. Make sure your secrets and configuration are correct.
146-
- **Image doesn't boot in QEMU:** Double-check your custom scripts and added files for errors.
168+
- **Image doesn't boot in QEMU:** Double-check your custom scripts and added files for errors, check the build logs for errors.
147169

148170
## Resources
149171

0 commit comments

Comments
 (0)