deb-bootc-image-builder/recipes/particle-os-ostree.yml
robojerk d2d4c2e4e7
Some checks failed
particle-os CI / Test particle-os (push) Failing after 1s
particle-os CI / Integration Test (push) Has been skipped
particle-os CI / Security & Quality (push) Failing after 1s
Test particle-os Basic Functionality / test-basic (push) Failing after 1s
Tests / test (1.21.x) (push) Failing after 2s
Tests / test (1.22.x) (push) Failing after 1s
particle-os CI / Build and Release (push) Has been skipped
Major refactor: Remove debos integration, add particle-os CLI system, implement OSTree stages, and create comprehensive build pipeline
2025-08-12 16:17:39 -07:00

140 lines
3.5 KiB
YAML

name: particle-os-ostree
description: Real ublue-os architecture with OSTree, bootupd, and bootc
base-image: debian:trixie-slim
image-version: "13"
stages:
- type: org.osbuild.debian.ostree
options:
# OSTree configuration
ostree_repo: "particle-os-repo"
ostree_branch: "particle-os/debian-trixie"
ostree_ref: "particle-os/debian-trixie"
# Container extraction and OSTree commit
container_image: "debian:trixie-slim"
ostree_mode: "archive"
- type: org.osbuild.debian.apt
options:
packages:
# Core system packages
- systemd
- systemd-sysv
- udev
- procps
- util-linux
- mount
- passwd
- login
- bash
- coreutils
# OSTree packages (available in standard repos)
- ostree
- ostree-boot
# Kernel and boot essentials
- linux-image-amd64
- linux-headers-amd64
- initramfs-tools
# Basic tools
- curl
- wget
- vim
- less
- locales
- ca-certificates
- tzdata
update: true
clean: true
- type: org.osbuild.debian.ostree_boot
options:
# OSTree boot configuration
ostree_boot_dir: "/usr/lib/ostree-boot"
kernel_path: "/usr/lib/ostree-boot/vmlinuz"
initrd_path: "/usr/lib/ostree-boot/initrd.img"
# bootupd configuration
bootupd_enable: true
bootupd_config: |
[bootupd]
enabled = true
[bootupd.efi]
enabled = true
[bootupd.legacy]
enabled = true
- type: org.osbuild.debian.locale
options:
language: en_US.UTF-8
default_locale: en_US.UTF-8
- type: org.osbuild.debian.timezone
options:
timezone: UTC
- type: org.osbuild.debian.users
options:
users:
admin:
password: "$6$rounds=656000$salt$hashedpassword"
shell: /bin/bash
groups: ["users", "sudo", "adm"]
uid: 1000
gid: 1000
home: /home/admin
comment: "System Administrator"
default_shell: /bin/bash
default_home: /home
- type: org.osbuild.ostree_deploy
options:
# OSTree deployment configuration
ostree_repo: "particle-os-repo"
ostree_ref: "particle-os/debian-trixie"
deployment_mode: "ostree"
# Filesystem structure
immutable_dirs: ["/usr", "/boot", "/lib", "/lib64"]
mutable_dirs: ["/var", "/etc", "/home", "/tmp"]
# Bootloader configuration
bootloader: "bootupd"
bootloader_config: |
[bootupd]
enabled = true
[bootupd.efi]
enabled = true
[bootupd.legacy]
enabled = true
[bootupd.ostree]
enabled = true
ref = "particle-os/debian-trixie"
- type: org.osbuild.qemu
options:
formats: ["raw", "qcow2"]
size: "10G"
filename: "particle-os-ostree"
output:
formats: ["raw", "qcow2"]
size: "10G"
path: "particle-os-ostree"
metadata:
author: "particle-os"
category: "ostree"
tags: ["ostree", "bootupd", "bootc", "container-native", "immutable"]
description: "Real ublue-os architecture with OSTree, bootupd, and bootc"
target_audience: "Developers, system administrators, ublue-os users"
based_on: "debian:trixie-slim + ublue-os architecture"
architecture: "ostree + bootupd + bootc"