Bluefin Project Independence#
Bluefin is undergoing a deliberate, gradual decoupling from Universal Blue to operate as an independent distribution. The primary signal is the migration of the canonical codebase from ublue-os/bluefin → projectbluefin/bluefin, with the projectbluefin GitHub org now serving as the project's home .
The strategic rationale: the Universal Blue mission — demonstrating that you can build operating systems using Dockerfiles — is considered largely complete. With bootc dramatically lowering the barrier to OS creation, the goal is to move from a monolithic "distribution" model to an ecosystem of independent OCI images, each with distinct communities and shared components .
"This is also why you've seen us slowly decouple from Universal Blue more explicitly. This is a forcing function to move us away from monolithic 'distributions' to an ecosystem full of different images, each with different communities and needs, while retaining the value of shared components." — Bluefin 2025 Wrap-up
The Bluefin 2.0 Reboot#
In late May 2026, Bluefin was rebuilt from scratch in a 4–5 day sprint — described as "Bluefin 2.0" — moving the canonical repo from ublue-os/bluefin to projectbluefin/bluefin and introducing an agentic-first development model .
The new factory is orchestrated by KubeStellar Hive, which manages 8 repos in the projectbluefin org. AI agents implement; humans approve design, security-sensitive changes, and merges .
For a full diff of what changed between the old and new architecture, see THEPATTERN.md in the main repo and the Agentic Contributor Guide.
User Migration: ublue-os → projectbluefin#
Existing users on ghcr.io/ublue-os/bluefin*:lts images are automatically migrated to projectbluefin via a systemd service shipped in the weekly build. No user action is required — the machine switches on next reboot after pulling the update .
Old image (ublue-os) | New image (projectbluefin) | Notes |
|---|---|---|
bluefin:lts | bluefin-lts:lts | |
bluefin:lts-hwe | bluefin-lts-hwe:lts | |
bluefin-dx:lts | bluefin-lts:lts | Run ujust devmode after reboot |
bluefin-dx:lts-hwe | bluefin-lts-hwe:lts | Run ujust devmode after reboot |
bluefin-gdx:lts | bluefin-lts-hwe-nvidia:lts | Run ujust devmode after reboot |
| arm64 variants | No automatic migration | Reinstall from new image |
To migrate manually before the automatic migration ships:
sudo bootc switch ghcr.io/projectbluefin/bluefin-lts:lts --enforce-container-sigpolicy
The migration service (bluefin-lts-migration.timer + bluefin-lts-migration.service) retries daily until success and self-cleans its MOTD on reboot .
What Remains Shared with Universal Blue#
Independence is gradual — several components remain in or are shared with the Universal Blue ecosystem:
| Component | Org | Shared with |
|---|---|---|
ublue-os/artwork | ublue-os | Aurora, Bazzite |
ublue-os/brew | ublue-os | Aurora, Bazzite |
ublue-os/homebrew-tap | ublue-os | Aurora, Bazzite |
| Aurora (KDE variant) | ublue-os | Consumes projectbluefin/common |
| Bazzite (gaming variant) | ublue-os | Consumes projectbluefin/common |
projectbluefin/common is the shared OCI layer — desktop config, ujust, GNOME opinions — consumed by both Bluefin's own images and by Aurora and Bazzite in the ublue-os org .
Governance models remain aligned: both Universal Blue and Bluefin are modelled after cloud-native projects like Kubernetes, with shared Mission, Values, and Membership structures .
For agents and contributors: There is an absolute prohibition on creating issues, PRs, comments, or any programmatic actions targeting
ublue-os/*repositories from theprojectbluefinorg. Any task requiring a touch to upstreamublue-osrepos must be reported manually by a human.
Current Repository Map#
Core image repos (projectbluefin org)#
| Repo | Role |
|---|---|
projectbluefin/bluefin | Main OS image (Fedora-based) |
projectbluefin/bluefin-lts | LTS variant (CentOS Stream 10 / bootc) |
projectbluefin/common | Shared OCI layer — consumed by all variants plus Aurora and Bazzite |
projectbluefin/dakota | Distroless prototype (Dakotaraptor, BuildStream / GNOME OS based) |
Infrastructure repos (projectbluefin org)#
| Repo | Role |
|---|---|
projectbluefin/actions | Shared CI library — 10 composite actions |
projectbluefin/bonedigger | ujust report client + issue lifecycle bot |
projectbluefin/iso | ISO build pipeline |
projectbluefin/finpilot | Build your own custom Bluefin |
projectbluefin/bootc-installer | libadwaita bootc installer |
Still in ublue-os org#
| Repo | Role |
|---|---|
ublue-os/artwork | Art assets (shared with Aurora and Bazzite) |
ublue-os/aurora | KDE variant — consumes projectbluefin/common |
ublue-os/bazzite | Gaming variant — consumes projectbluefin/common |
Key references#
- Bluefin 2025 Wrap-up — strategic context for the decoupling
- Agentic Contributor Guide — full org operating model
- Contributing Guide — production contributing guide
- Project Board — active work tracking
- KubeStellar Hive live view — real-time org orchestration
- PR Review Queue — open PRs awaiting human review