How projectbluefin/utah works
Utahraptor composes a Bluefin desktop image on Fedora Hummingbird, then packages it into live media whose bootc-installer can install the embedded image to an encrypted disk offline. The core stages are package-contract resolution, desktop/image composition, and live installation; the status page is a supporting user-facing capability. README claims establish the factory OCI input and end-to-end ISO workflow, while sampled source confirms package resolution and status-page data/API behavior. Some build-recipe wiring is unsampled, so uncertain call edges are omitted.
Main entry points: Containerfile Image recipe · install-packages.py Package resolver · generate-site-data.py Data generator · live/Containerfile Live ISO recipe
Components 22
Image composition
- Image recipe
Containerfile - Hummingbird base
- Desktop OCI
- Bluefin contract
packages/bluefin.toml - Utah overlay
packages/utah.toml - Package resolver
scripts/install-packages.py - Resolved contract
Desktop system
- Desktop policy
contracts/bluefin-desktop.toml - System defaults
system_files/shared - Service setup
scripts/configure-services.sh
Live installation
- Live ISO recipe
iso/live/Containerfile - ISO builder
iso/scripts/build-iso.sh - Live configuration
iso/live/src/configure-live.sh - Installer payload
iso/live/src/etc/bootc-installer/recipe.json - Flatpak setup
iso/live/src/install-flatpaks.sh
Project status
- Status page
site/index.html - Package data
site/data/packages.json - Data generator
scripts/generate-site-data.py
Other components
- Image builder
- Installing user
- Page visitor
- GitHub API
Connections 22
- Image builder → Image recipe: builds
- Image recipe → Hummingbird base: starts from
- Image recipe → Desktop OCI: consumes
- Image recipe → Package resolver: runs
- Package resolver → Bluefin contract: reads
- Package resolver → Utah overlay: reads
- Package resolver → Resolved contract: writes
- Image recipe → Desktop policy: verifies
- Image recipe → Service setup: configures
- Service setup → System defaults: installs defaults
- Image builder → ISO builder: builds media
- ISO builder → Live ISO recipe: uses
- Live ISO recipe → Live configuration: includes
- Live ISO recipe → Installer payload: embeds
- Live configuration → Flatpak setup: runs
- Installing user → ISO builder: boots media
- Page visitor → Status page: views
- Status page → Package data: renders
- Data generator → Bluefin contract: reads
- Data generator → Utah overlay: reads
- Data generator → Package data: generates
- Status page → GitHub API: fetches status