Repository navigation
feat(images): add the Azure Linux 4.0 beta machine image - #56
Merged
Merged
Conversation
Azure Linux 4.0, Microsoft's Fedora-based cloud distribution, joins the rpm family as azurelinux:4.0 and azure-linux:4.0. Microsoft publishes 4.0 only as a beta channel, signed with the Mariner key mkosi already trusts for 3.0: - The profile reads packages.microsoft.com/azurelinux/4.0/beta/base through LocalMirror=, because mkosi v27 builds 4.0/prod URLs, which do not exist. The image's own repository files come from the distro. - The pinned recipes have no Azure Linux recipe, so the profile names the packages Fedora's recipe adds and links /etc/resolv.conf to the VM's resolver. - It names azurelinux-repos: azurelinux-repos-dev also satisfies the release package and points dnf at an unsigned development feed. Azure Linux packages no wayland-utils and none of galculator, zenity or foot in its enabled repositories. On it, probe-machines.py lists the compositor's globals with a Python client of the Wayland protocol and opens gtk-lshw, a GTK 3 window. nsl-machine-azure-4.0-x86-64-r1 (71 MB) passed all 12 checks of probe-machines.py --gui beside the published Debian r5 image on VM image r10. ADR-0009 now admits a beta release on the same terms, marked beta in the user documentation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
KyleGospo
approved these changes
Oct 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Azure Linux 4.0, Microsoft's Fedora-based cloud distribution, as a machine image in the
rpmfamily, with selectorsazurelinux:4.0andazure-linux:4.0.Microsoft has no finished Azure Linux 4.0 release yet: it publishes 4.0 only as a beta channel,
packages.microsoft.com/azurelinux/4.0/beta/. Packages and repository metadata are signed with the Mariner key (0CD9FED33135CE90) that mkosi already trusts for 3.0. The image is built from that repository like every other nsl image, and the user documentation marks it as a beta.Changes
image/machines/profiles/azurelinux/: distributionazure, release4.0, Fedora 44 tools tree.4.0/prod/...URLs, which don't exist, soLocalMirror=reads the betabaserepository for the build. The image's own repository files come from the distro./etc/resolv.confto the VM's resolver.azurelinux-repos.azurelinux-repos-devalso satisfies the release package'sazurelinux-repos(4.0)requirement, and it points dnf at an internal development feed withgpgcheck=0. A test checks the profile keeps the signed package.wayland-utils, and its enabled repositories have none of galculator, zenity or foot. On Azure Linux only,probe-machines.pylists the compositor's globals with a small Python Wayland client in place ofwayland-info, and opensgtk-lshw(GTK 3, fromlshw-gui) as the window check. The other images' checks are unchanged.images.ymlrun builds, accepts and publishes the image.docs/plans/azure-linux.md, with the evidence.Validation
nsl-machine-azure-4.0-x86-64-r1built on the first attempt: 71 MB zstd, 138 packages, systemd 258.4.probe-machines.py --gui, run beside the published Debian r5 image on VM image r10 built from this branch: all 24 checks passed, 12 per machine. On Azure Linux, systemd reachedrunningwith no failed units, every tally check passed, Podman 5.8 ran rootless, the Python client foundwl_compositorandxdg_wm_base, andgtk-lshwheld a window open.make ciandmake sitepass.Risk
The image depends on Microsoft's beta repository. If Microsoft breaks it, the weekly
images.ymlrun fails for every image until the repository is fixed or this profile is removed. Phase 2 of the plan, publication, is done when a signed catalogue lists the image andnsl create azurelinux:4.0works on a host with an empty cache.🤖 Generated with Claude Code