From 7965d86654fd747b5fc8f4a369cf85f007094483 Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 24 2026 14:21:11 +0000
Subject: [PATCH 1/15] Fix ostree args syntax


---

diff --git a/justfile b/justfile
index 4b1ce06..2ef5435 100644
--- a/justfile
+++ b/justfile
@@ -180,7 +180,7 @@ compose-legacy variant=default_variant:
         "--unified-core"
     )
     if [[ {{force_nocache}} == "true" ]]; then
-        ARGS+=(" --force-nocache")
+        ARGS+=("--force-nocache")
     fi
     CMD="rpm-ostree"
     if [[ ${EUID} -ne 0 ]]; then

From 6a34d12c3e0bc98fe8773cd48c0ded8f42bc93eb Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 24 2026 14:21:11 +0000
Subject: [PATCH 2/15] rpm-ostree requires an archive-z2 mode repo


---

diff --git a/justfile b/justfile
index 2ef5435..52dca2e 100644
--- a/justfile
+++ b/justfile
@@ -161,7 +161,7 @@ compose-legacy variant=default_variant:
     mkdir -p repo cache logs
     if [[ ! -f "repo/config" ]]; then
         pushd repo > /dev/null || exit 1
-        ostree init --repo . --mode=bare-user
+        ostree init --repo . --mode=archive-z2
         popd > /dev/null || exit 1
     fi
     # Set option to reduce fsync for transient builds

From 9f1c261680d699c208a0fc9be46d90b7cae811c6 Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:35:26 +0000
Subject: [PATCH 3/15] Update the list of official Atomic variants


---

diff --git a/README.md b/README.md
index beabb45..5f8c7e3 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,7 @@ The currently official Fedora Atomic Desktop variants are:
 - Fedora Kinoite
 - Fedora Sway Atomic
 - Fedora Budgie Atomic
+- Fedora COSMIC Atomic
 
 Reach out to the SIG if you are interested in creating and maintaining a new
 Atomic variant.
@@ -76,8 +77,9 @@ The goal is to eventually use a similar CI pipeline-centric flow, with signing a
 The sources for the
 [Silverblue](https://fedoraproject.org/atomic-desktops/silverblue/),
 [Kinoite](https://fedoraproject.org/atomic-desktops/kinoite/),
-[Sway Atomic](https://fedoraproject.org/atomic-desktops/sway/) and
-[Budgie Atomic](https://fedoraproject.org/atomic-desktops/budgie/) websites are
+[Sway Atomic](https://fedoraproject.org/atomic-desktops/sway/),
+[Budgie Atomic](https://fedoraproject.org/atomic-desktops/budgie/), and
+[COSMIC Atomic](https://fedoraproject.org/atomic-desktops/cosmic/) websites are
 in [gitlab.com/fedora/fedora-websites-3.0](https://gitlab.com/fedora/websites-apps/fedora-websites/fedora-websites-3.0).
 
 ## Issue trackers

From 09d286dc691f23871a93acff38a0bcf281efead6 Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:35:31 +0000
Subject: [PATCH 4/15] Update URL for pungi-fedora


---

diff --git a/README.md b/README.md
index 5f8c7e3..cd46aee 100644
--- a/README.md
+++ b/README.md
@@ -29,7 +29,7 @@ In the Fedora infrastructure, composes are made via
 [pungi](https://pagure.io/pungi) with the configuration from:
 
 - for Rawhide and branched composes:
-  [pagure.io/pungi-fedora](https://pagure.io/pungi-fedora)
+  [forge.fedoraproject.org/releng/pungi-fedora](https://forge.fedoraproject.org/releng/pungi-fedora)
 - for stable releases:
   [pagure.io/fedora-infra](https://pagure.io/fedora-infra/ansible/blob/main/f/roles/bodhi2/backend/templates/pungi.rpm.conf.j2)
 

From fd0a2dd2b4b9796cf35e95f8ed0bf6ec9a2a80ab Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:35:31 +0000
Subject: [PATCH 5/15] Update URL for pungi.rpm.conf template


---

diff --git a/README.md b/README.md
index cd46aee..4be92fa 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@ In the Fedora infrastructure, composes are made via
 - for Rawhide and branched composes:
   [forge.fedoraproject.org/releng/pungi-fedora](https://forge.fedoraproject.org/releng/pungi-fedora)
 - for stable releases:
-  [pagure.io/fedora-infra](https://pagure.io/fedora-infra/ansible/blob/main/f/roles/bodhi2/backend/templates/pungi.rpm.conf.j2)
+  [forge.fedoraproject.org/infra/ansible](https://forge.fedoraproject.org/infra/ansible/src/branch/main/roles/bodhi2/backend/templates/pungi.rpm.conf.j2)
 
 Installer ISOs are built using [Lorax](https://github.com/weldr/lorax) and
 additional templates:

From e2c19c44c5a33371e84819d1c4c1313a149485d4 Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:35:31 +0000
Subject: [PATCH 6/15] Update URLs for issues and documentation


---

diff --git a/README.md b/README.md
index 4be92fa..3230d34 100644
--- a/README.md
+++ b/README.md
@@ -85,18 +85,20 @@ in [gitlab.com/fedora/fedora-websites-3.0](https://gitlab.com/fedora/websites-ap
 ## Issue trackers
 
 Issues common to all Fedora Atomic Desktops are tracked in
-[gitlab.com/fedora/ostree/sig](https://gitlab.com/fedora/ostree/sig/-/issues).
+[forge.fedoraproject.org/atomic-desktops](https://forge.fedoraproject.org/atomic-desktops/tracker/issues).
 
 Desktop specific issues should be filed in their respective issue trackers:
 
 - [Silverblue](https://github.com/fedora-silverblue/issue-tracker/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)
     - See also the [Workstation issue tracker](https://pagure.io/fedora-workstation/issues?status=Open&order_key=last_updated&order=desc)
-- [Kinoite](https://pagure.io/fedora-kde/SIG/issues?status=Open&order_key=last_updated&order=desc)
+- [Kinoite](https://forge.fedoraproject.org/kde/tracker/issues)
   ([KDE SIG](https://fedoraproject.org/wiki/SIGs/KDE))
 - [Sway Atomic](https://gitlab.com/fedora/sigs/sway/SIG/-/issues)
   ([Sway SIG](https://fedoraproject.org/wiki/SIGs/Sway))
 - [Budgie Atomic](https://pagure.io/fedora-budgie/project/issues?status=Open&order_key=last_updated&order=desc)
   ([Budgie SIG](https://fedoraproject.org/wiki/SIGs/Budgie))
+- [COSMIC Atomic](https://forge.fedoraproject.org/cosmic/SIG/issues)
+  ([COSMIC SIG](https://fedoraproject.org/wiki/SIGs/COSMIC))
 
 ## Documentation
 
@@ -112,6 +114,7 @@ Documentation sources:
 - [Kinoite](https://pagure.io/fedora-kde/kinoite-docs)
 - [Sway Atomic](https://gitlab.com/fedora/sigs/sway/sericea-docs)
 - Budgie Atomic (to be determined)
+- COSMIC Atomic (to be determined)
 
 ## Building
 

From 9746b7cedf36c64b46843d6189adf57949b4efdc Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:35:31 +0000
Subject: [PATCH 7/15] Argument to compose rules must be variant value only


---

diff --git a/README.md b/README.md
index 3230d34..88a0526 100644
--- a/README.md
+++ b/README.md
@@ -129,10 +129,10 @@ Example to do a local build of Fedora Silverblue:
 $ git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config
 
 # Build the classic ostree commits (currently the default in Fedora)
-$ just compose-legacy variant=silverblue
+$ just compose-legacy silverblue
 
 # Or build the new ostree native container (not default yet, still in development)
-$ just compose-image variant=silverblue
+$ just compose-image silverblue
 ```
 
 ## Testing

From 20c6eb88b9ae29fac87973e77d4f0c634c86960d Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:35:31 +0000
Subject: [PATCH 8/15] Link to the justfile to avoid redundant links


---

diff --git a/README.md b/README.md
index 88a0526..eae7730 100644
--- a/README.md
+++ b/README.md
@@ -119,7 +119,7 @@ Documentation sources:
 ## Building
 
 All commonly used commands are listed as recipes in the
-[justfile](https://github.com/casey/just) (see
+[justfile](https://pagure.io/workstation-ostree-config/blob/main/f/justfile) (see
 [Just](https://github.com/casey/just)).
 
 Example to do a local build of Fedora Silverblue:

From 411dbe8f1759eb2f8237fe11f07d17ed6b53804e Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:35:31 +0000
Subject: [PATCH 9/15] Move build/test instructions up so that new contributors find it more quickly


---

diff --git a/README.md b/README.md
index eae7730..04eb885 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,98 @@ Installer ISOs are built using [Lorax](https://github.com/weldr/lorax) and
 additional templates:
 [pagure.io/fedora-lorax-templates](https://pagure.io/fedora-lorax-templates).
 
+## Getting started
+
+If you'd like to build an Atomic system image, you'll need to clone this repo and check out the
+release branch you want to work with, then build, publish, and install the image.
+
+Currently, the default image type in Fedora is "ostree", while container images are
+still in development. You can build either type.
+
+All commonly used commands are listed as recipes in the
+[justfile](https://pagure.io/workstation-ostree-config/blob/main/f/justfile) (see
+[Just](https://github.com/casey/just)).
+
+## Clone this repo
+
+```
+# Clone the config
+$ git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config
+
+# Check out a release branch (unless you want a rawhide image)
+$ git checkout f45
+```
+
+## ostree image
+
+### Build an ostree image
+
+```
+# Build the classic ostree commits (currently the default in Fedora)
+$ just compose-legacy silverblue
+```
+
+### Publish an ostree image
+
+Instructions to test the resulting build for classic ostree commits:
+
+- First, serve the ostree repo using an HTTP server. You can use any static
+  file server. For example using
+  <https://github.com/TheWaWaR/simple-http-server>:
+
+```
+simple-http-server --index --ip 192.168.122.1 --port 8000
+```
+
+### Install the ostree image
+
+On an already installed Silverblue system:
+
+```
+# Pin the currently deployed (and probably working) version
+sudo ostree admin pin 0
+
+# Add an ostree remote
+sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify
+
+# List refs from variant remote
+sudo ostree remote refs testremote
+
+# Switch to your variant
+sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue
+
+# Reboot and test!
+```
+
+## Container image
+
+### Build a container image
+
+```
+# Build the new ostree native container (not default yet, still in development)
+$ just compose-image silverblue
+```
+
+### Publish the container image
+
+Push the OCI archive to a container registry
+
+### Install the container image
+
+On an already installed Silverblue system:
+
+```
+# Pin the currently deployed (and probably working) version
+sudo ostree admin pin 0
+
+# Switch to your variant
+$ rpm-ostree rebase ostree-unverified-image:registry:<oci image>
+
+# Reboot and test!
+```
+
+See [URL format for ostree native containers](https://coreos.github.io/rpm-ostree/container/#url-format-for-ostree-native-containers) for details.
+
 ## Compose Methods and Outputs
 
 There are a few different ways Fedora Atomic Desktop images are currently produced.
@@ -116,66 +208,6 @@ Documentation sources:
 - Budgie Atomic (to be determined)
 - COSMIC Atomic (to be determined)
 
-## Building
-
-All commonly used commands are listed as recipes in the
-[justfile](https://pagure.io/workstation-ostree-config/blob/main/f/justfile) (see
-[Just](https://github.com/casey/just)).
-
-Example to do a local build of Fedora Silverblue:
-
-```
-# Clone the config
-$ git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config
-
-# Build the classic ostree commits (currently the default in Fedora)
-$ just compose-legacy silverblue
-
-# Or build the new ostree native container (not default yet, still in development)
-$ just compose-image silverblue
-```
-
-## Testing
-
-Instructions to test the resulting build for classic ostree commits:
-
-- First, serve the ostree repo using an HTTP server. You can use any static
-  file server. For example using
-  <https://github.com/TheWaWaR/simple-http-server>:
-
-```
-simple-http-server --index --ip 192.168.122.1 --port 8000
-```
-
-- Then, on an already installed Silverblue system:
-
-```
-# Add an ostree remote
-sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify
-
-# Pin the currently deployed (and probably working) version
-sudo ostree admin pin 0
-
-# List refs from variant remote
-sudo ostree remote refs testremote
-
-# Switch to your variant
-sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue
-
-# Reboot and test!
-```
-
-Instructions to test the resulting build for ostree native containers:
-
-- Push the OCI archive to a container registry
-- Rebase to it:
-
-```
-$ rpm-ostree rebase ostree-unverified-image:registry:<oci image>
-```
-
-See [URL format for ostree native containers](https://coreos.github.io/rpm-ostree/container/#url-format-for-ostree-native-containers) for details.
-
 ## Syncing with Fedora Comps
 
 [Fedora Comps](https://pagure.io/fedora-comps) are "XML files used by various

From ab4d688312dc2a4a18dc93e0c68aa7c93165ece7 Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:35:31 +0000
Subject: [PATCH 10/15] Provide instructions to publish dev builds to a local container registry


---

diff --git a/README.md b/README.md
index 04eb885..6050af1 100644
--- a/README.md
+++ b/README.md
@@ -70,14 +70,12 @@ $ just compose-legacy silverblue
 
 ### Publish an ostree image
 
-Instructions to test the resulting build for classic ostree commits:
-
-- First, serve the ostree repo using an HTTP server. You can use any static
-  file server. For example using
-  <https://github.com/TheWaWaR/simple-http-server>:
+Serve the ostree repo using an HTTP server. You can use any static
+file server. For example using
+<https://github.com/TheWaWaR/simple-http-server>:
 
 ```
-simple-http-server --index --ip 192.168.122.1 --port 8000
+$ simple-http-server --index --ip 192.168.122.1 --port 8000
 ```
 
 ### Install the ostree image
@@ -86,16 +84,16 @@ On an already installed Silverblue system:
 
 ```
 # Pin the currently deployed (and probably working) version
-sudo ostree admin pin 0
+$ sudo ostree admin pin 0
 
 # Add an ostree remote
-sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify
+$ sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify
 
 # List refs from variant remote
-sudo ostree remote refs testremote
+$ sudo ostree remote refs testremote
 
 # Switch to your variant
-sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue
+$ sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue
 
 # Reboot and test!
 ```
@@ -111,7 +109,19 @@ $ just compose-image silverblue
 
 ### Publish the container image
 
-Push the OCI archive to a container registry
+Serve the container image using a local insecure container image registry.
+
+```
+# Run a local container image registry
+$ podman run -d -p 5000:5000 --name local-registry registry:2
+
+# Push the ociarchive to the image registry
+$ REGISTRY=192.168.122.1:5000 RELEASE_REPO=fedora \
+  just upload-container-simple
+
+# Examine the output for the OCI image location, e.g.:
+# 192.168.122.2:5000/fedora/silverblue:rawhide.20260324.0
+```
 
 ### Install the container image
 
@@ -119,10 +129,16 @@ On an already installed Silverblue system:
 
 ```
 # Pin the currently deployed (and probably working) version
-sudo ostree admin pin 0
+$ sudo ostree admin pin 0
+
+$ sudo tee -a /etc/containers/registries.conf.d/localdev.conf <<EOF
+[[registry]]
+location="192.168.122.1:5000"
+insecure=true
+EOF
 
 # Switch to your variant
-$ rpm-ostree rebase ostree-unverified-image:registry:<oci image>
+$ sudo rpm-ostree rebase ostree-unverified-image:registry:192.168.122.1:5000/fedora/silverblue:rawhide.20260324.0
 
 # Reboot and test!
 ```
diff --git a/justfile b/justfile
index 52dca2e..0830d8c 100644
--- a/justfile
+++ b/justfile
@@ -443,6 +443,74 @@ upload-container variant=default_variant arch=default_arch:
     # Cleanup private key
     rm private.key.b64 private.key
 
+# Upload a container to an anonymous registry. Useful for local builds
+upload-container-simple variant=default_variant arch=default_arch:
+    #!/bin/bash
+    set -euxo pipefail
+
+    {{retry_function}}
+
+    variant={{variant}}
+    arch={{arch}}
+
+    declare -A pretty_names={{pretty_names}}
+    variant_pretty=${pretty_names[$variant]-}
+    if [[ -z $variant_pretty ]]; then
+        echo "Unknown variant"
+        exit 1
+    fi
+
+    if [[ -z ${REGISTRY+x} ]] || [[ -z ${RELEASE_REPO+x} ]]; then
+        echo "Skipping: No REGISTRY or RELEASE_REPO set"
+        exit 1
+    fi
+
+    buildid=""
+    if [[ -f ".buildid" ]]; then
+        buildid="$(< .buildid)"
+    else
+        echo "Skipping: No '.buildid' file"
+        exit 1
+    fi
+
+    version=""
+    if [[ "$(git rev-parse --abbrev-ref HEAD)" == "main" ]] || [[ -f "fedora-rawhide.repo" ]]; then
+        version="rawhide"
+    else
+        version="$(rpm-ostree compose tree --print-only --repo=repo ${variant}.yaml | jq -r '."mutate-os-release"')"
+    fi
+
+    if [[ -n ${CI_REGISTRY_USER+x} ]] || [[ -n ${CI_REGISTRY_PASSWORD+x} ]]; then
+        # Login to the registry
+        retry 5 60 skopeo login --username "${CI_REGISTRY_USER}" --password "${CI_REGISTRY_PASSWORD}" "${REGISTRY}"
+    fi
+
+    image="${REGISTRY}/${RELEASE_REPO}/${variant}"
+
+    # Only append arch suffix if requested
+    suffix=""
+    if [[ ${arch} != "default" ]]; then
+        suffix="-${arch}"
+    fi
+
+    SKOPEO_ARGS=(
+        "--retry-times" "3"
+        "--dest-tls-verify=false"
+    )
+
+    # Support for the zstd:chunked format is not ready yet
+    SKOPEO_ARGS+=("--dest-compress-format")
+    if [[ ${version} == "rawhide" ]] || [[ ${version} == "43" ]]; then
+        SKOPEO_ARGS+=("zstd")
+    else
+        SKOPEO_ARGS+=("gzip")
+    fi
+
+    # Push fully versioned tag (major version, build date/id, arch)
+    retry 5 60 skopeo copy "${SKOPEO_ARGS[@]}" \
+        "oci-archive:${variant}.ociarchive" \
+        "docker://${image}:${version}.${buildid}${suffix}"
+
 # Create a multi-arch manifest for a given variant, push it to a registry and sign it
 multi-arch-manifest variant=default_variant:
     #!/bin/bash

From f4d6ec87c859cbdc3fa86e8a78491871c372783f Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:35:31 +0000
Subject: [PATCH 11/15] 'compose tree' doesn't accept a repo argument, so drop repo handling


---

diff --git a/justfile b/justfile
index 0830d8c..254a7cf 100644
--- a/justfile
+++ b/justfile
@@ -213,20 +213,13 @@ compose-image variant=default_variant:
 
     just validate > /dev/null || (echo "Failed manifest validation" && exit 1)
 
-    mkdir -p repo cache
-    if [[ ! -f "repo/config" ]]; then
-        pushd repo > /dev/null || exit 1
-        ostree init --repo . --mode=bare-user
-        popd > /dev/null || exit 1
-    fi
-    # Set option to reduce fsync for transient builds
-    ostree --repo=repo config set 'core.fsync' 'false'
+    mkdir -p cache
 
     buildid="$(date '+%Y%m%d.0')"
     timestamp="$(date --iso-8601=sec)"
     echo "${buildid}" > .buildid
 
-    version="$(rpm-ostree compose tree --print-only --repo=repo ${variant}.yaml | jq -r '."mutate-os-release"')"
+    version="$(rpm-ostree compose tree --print-only ${variant}.yaml | jq -r '."mutate-os-release"')"
     echo "Composing ${variant_pretty} ${version}.${buildid} ..."
 
     ARGS=(

From 425d173139f155659710236f1c702c2131b791e5 Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:40:41 +0000
Subject: [PATCH 12/15] Update URL for Workstation issue tracker


---

diff --git a/README.md b/README.md
index 6050af1..a62fca1 100644
--- a/README.md
+++ b/README.md
@@ -198,7 +198,7 @@ Issues common to all Fedora Atomic Desktops are tracked in
 Desktop specific issues should be filed in their respective issue trackers:
 
 - [Silverblue](https://github.com/fedora-silverblue/issue-tracker/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)
-    - See also the [Workstation issue tracker](https://pagure.io/fedora-workstation/issues?status=Open&order_key=last_updated&order=desc)
+    - See also the [Workstation issue tracker](https://forge.fedoraproject.org/workstation/tickets/issues?q=&type=all&sort=recentupdate&state=open)
 - [Kinoite](https://forge.fedoraproject.org/kde/tracker/issues)
   ([KDE SIG](https://fedoraproject.org/wiki/SIGs/KDE))
 - [Sway Atomic](https://gitlab.com/fedora/sigs/sway/SIG/-/issues)

From 73e1a426ba13f23d409ce1a54555126ae181cb22 Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:46:00 +0000
Subject: [PATCH 13/15] Remove "$" prompt from command examples


---

diff --git a/README.md b/README.md
index a62fca1..f50b35d 100644
--- a/README.md
+++ b/README.md
@@ -53,10 +53,10 @@ All commonly used commands are listed as recipes in the
 
 ```
 # Clone the config
-$ git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config
+git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config
 
 # Check out a release branch (unless you want a rawhide image)
-$ git checkout f45
+git checkout f45
 ```
 
 ## ostree image
@@ -65,7 +65,7 @@ $ git checkout f45
 
 ```
 # Build the classic ostree commits (currently the default in Fedora)
-$ just compose-legacy silverblue
+just compose-legacy silverblue
 ```
 
 ### Publish an ostree image
@@ -75,7 +75,7 @@ file server. For example using
 <https://github.com/TheWaWaR/simple-http-server>:
 
 ```
-$ simple-http-server --index --ip 192.168.122.1 --port 8000
+simple-http-server --index --ip 192.168.122.1 --port 8000
 ```
 
 ### Install the ostree image
@@ -84,16 +84,16 @@ On an already installed Silverblue system:
 
 ```
 # Pin the currently deployed (and probably working) version
-$ sudo ostree admin pin 0
+sudo ostree admin pin 0
 
 # Add an ostree remote
-$ sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify
+sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify
 
 # List refs from variant remote
-$ sudo ostree remote refs testremote
+sudo ostree remote refs testremote
 
 # Switch to your variant
-$ sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue
+sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue
 
 # Reboot and test!
 ```
@@ -104,7 +104,7 @@ $ sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue
 
 ```
 # Build the new ostree native container (not default yet, still in development)
-$ just compose-image silverblue
+just compose-image silverblue
 ```
 
 ### Publish the container image
@@ -113,10 +113,10 @@ Serve the container image using a local insecure container image registry.
 
 ```
 # Run a local container image registry
-$ podman run -d -p 5000:5000 --name local-registry registry:2
+podman run -d -p 5000:5000 --name local-registry registry:2
 
 # Push the ociarchive to the image registry
-$ REGISTRY=192.168.122.1:5000 RELEASE_REPO=fedora \
+REGISTRY=192.168.122.1:5000 RELEASE_REPO=fedora \
   just upload-container-simple
 
 # Examine the output for the OCI image location, e.g.:
@@ -129,16 +129,16 @@ On an already installed Silverblue system:
 
 ```
 # Pin the currently deployed (and probably working) version
-$ sudo ostree admin pin 0
+sudo ostree admin pin 0
 
-$ sudo tee -a /etc/containers/registries.conf.d/localdev.conf <<EOF
+sudo tee -a /etc/containers/registries.conf.d/localdev.conf <<EOF
 [[registry]]
 location="192.168.122.1:5000"
 insecure=true
 EOF
 
 # Switch to your variant
-$ sudo rpm-ostree rebase ostree-unverified-image:registry:192.168.122.1:5000/fedora/silverblue:rawhide.20260324.0
+sudo rpm-ostree rebase ostree-unverified-image:registry:192.168.122.1:5000/fedora/silverblue:rawhide.20260324.0
 
 # Reboot and test!
 ```
@@ -250,13 +250,13 @@ https://pagure.io/fedora-comps and a `git` checkout of this repository.
 Using the `comps-sync.py` script, provide the updated input XML file to examine
 the changes as a dry-run:
 
-`$ ./comps-sync.py /path/to/fedora-comps/comps-f45.xml.in`
+`./comps-sync.py /path/to/fedora-comps/comps-f45.xml.in`
 
 Examine the changes and cross-reference them with PRs made to the `fedora-comps`
 repo. When you are satisfied that the changes are accurate and appear safe,
 re-run the script with the `--save` option:
 
-`$ ./comps-sync.py --save /path/to/fedora-comps/comps-f45.xml.in`
+`./comps-sync.py --save /path/to/fedora-comps/comps-f45.xml.in`
 
 Create a pull request with the changes and note any PRs from `fedora-comps`
 in the commit message that are relevant to the changes you have generated.

From 9c86d37e50ea57994a224a7c210669c114046700 Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:47:25 +0000
Subject: [PATCH 14/15] Rename upload-container-simple recipe to upload-container-local


---

diff --git a/README.md b/README.md
index f50b35d..7acdda9 100644
--- a/README.md
+++ b/README.md
@@ -117,7 +117,7 @@ podman run -d -p 5000:5000 --name local-registry registry:2
 
 # Push the ociarchive to the image registry
 REGISTRY=192.168.122.1:5000 RELEASE_REPO=fedora \
-  just upload-container-simple
+  just upload-container-local
 
 # Examine the output for the OCI image location, e.g.:
 # 192.168.122.2:5000/fedora/silverblue:rawhide.20260324.0
diff --git a/justfile b/justfile
index 254a7cf..0a1a5e3 100644
--- a/justfile
+++ b/justfile
@@ -437,7 +437,7 @@ upload-container variant=default_variant arch=default_arch:
     rm private.key.b64 private.key
 
 # Upload a container to an anonymous registry. Useful for local builds
-upload-container-simple variant=default_variant arch=default_arch:
+upload-container-local variant=default_variant arch=default_arch:
     #!/bin/bash
     set -euxo pipefail
 

From 8d7bb4c552623cfd627a4ae4dd80a6eba5d98ea1 Mon Sep 17 00:00:00 2001
From: Gordon Messmer <gmessmer@redhat.com>
Date: Mar 25 2026 15:53:40 +0000
Subject: [PATCH 15/15] Remove information that can be found in the atomic-desktops forge project


---

diff --git a/README.md b/README.md
index 7acdda9..3a2a6a4 100644
--- a/README.md
+++ b/README.md
@@ -3,19 +3,12 @@
 This is the configuration needed to create
 [rpm-ostree](https://coreos.github.io/rpm-ostree/) based, desktop variants of
 Fedora, also known as
-[Fedora Atomic Desktops](https://fedoraproject.org/atomic-desktops/).
+[Fedora Atomic Desktops](https://fedoraproject.org/atomic-desktops/). See the
+Atomic Desktops project for more information about all of the variants.
 
 This repo is managed by the
 [Fedora Atomic Desktops SIG](https://fedoraproject.org/wiki/SIGs/AtomicDesktops).
 
-The currently official Fedora Atomic Desktop variants are:
-
-- Fedora Silverblue
-- Fedora Kinoite
-- Fedora Sway Atomic
-- Fedora Budgie Atomic
-- Fedora COSMIC Atomic
-
 Reach out to the SIG if you are interested in creating and maintaining a new
 Atomic variant.
 
@@ -147,7 +140,7 @@ See [URL format for ostree native containers](https://coreos.github.io/rpm-ostre
 
 ## Compose Methods and Outputs
 
-There are a few different ways Fedora Atomic Desktop images are currently produced.
+There are a few different ways Fedora Atomic Desktop images are currently produced within Fedora's infrastructure.
 
 ### 1. Official Pungi Compose (OSTree Commit)
 
@@ -180,50 +173,6 @@ For testing and development purposes, an unofficial set of OCI images are built 
 
 The goal is to eventually use a similar CI pipeline-centric flow, with signing and historical tags, for the official releases.
 
-## Website
-
-The sources for the
-[Silverblue](https://fedoraproject.org/atomic-desktops/silverblue/),
-[Kinoite](https://fedoraproject.org/atomic-desktops/kinoite/),
-[Sway Atomic](https://fedoraproject.org/atomic-desktops/sway/),
-[Budgie Atomic](https://fedoraproject.org/atomic-desktops/budgie/), and
-[COSMIC Atomic](https://fedoraproject.org/atomic-desktops/cosmic/) websites are
-in [gitlab.com/fedora/fedora-websites-3.0](https://gitlab.com/fedora/websites-apps/fedora-websites/fedora-websites-3.0).
-
-## Issue trackers
-
-Issues common to all Fedora Atomic Desktops are tracked in
-[forge.fedoraproject.org/atomic-desktops](https://forge.fedoraproject.org/atomic-desktops/tracker/issues).
-
-Desktop specific issues should be filed in their respective issue trackers:
-
-- [Silverblue](https://github.com/fedora-silverblue/issue-tracker/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)
-    - See also the [Workstation issue tracker](https://forge.fedoraproject.org/workstation/tickets/issues?q=&type=all&sort=recentupdate&state=open)
-- [Kinoite](https://forge.fedoraproject.org/kde/tracker/issues)
-  ([KDE SIG](https://fedoraproject.org/wiki/SIGs/KDE))
-- [Sway Atomic](https://gitlab.com/fedora/sigs/sway/SIG/-/issues)
-  ([Sway SIG](https://fedoraproject.org/wiki/SIGs/Sway))
-- [Budgie Atomic](https://pagure.io/fedora-budgie/project/issues?status=Open&order_key=last_updated&order=desc)
-  ([Budgie SIG](https://fedoraproject.org/wiki/SIGs/Budgie))
-- [COSMIC Atomic](https://forge.fedoraproject.org/cosmic/SIG/issues)
-  ([COSMIC SIG](https://fedoraproject.org/wiki/SIGs/COSMIC))
-
-## Documentation
-
-The documentation for Fedora Atomic variants is currently duplicated for each
-variant at [Atomic Desktops](https://docs.fedoraproject.org/en-US/emerging/).
-
-There are plans to unify the documentation:
-[ostree/sig#10](https://gitlab.com/fedora/ostree/sig/-/issues/10)
-
-Documentation sources:
-
-- [Silverblue](https://github.com/fedora-silverblue/silverblue-docs)
-- [Kinoite](https://pagure.io/fedora-kde/kinoite-docs)
-- [Sway Atomic](https://gitlab.com/fedora/sigs/sway/sericea-docs)
-- Budgie Atomic (to be determined)
-- COSMIC Atomic (to be determined)
-
 ## Syncing with Fedora Comps
 
 [Fedora Comps](https://pagure.io/fedora-comps) are "XML files used by various

