Add comprehensive phase system, types, and treefile support for deb-bootc-compose

- Add internal/phases/ with complete phase management system
- Add internal/types/ with core data structures
- Add internal/treefile/ for OSTree treefile generation
- Update examples with YAML configurations
- Update .gitignore to properly exclude test artifacts and build outputs
- Update dependencies and configuration files
This commit is contained in:
robojerk 2025-08-19 20:48:46 -07:00
parent 57bb8aafbe
commit cca68c90f6
18 changed files with 2543 additions and 717 deletions

View file

@ -1,102 +1,82 @@
{
"name": "debian-bootc-minimal",
"version": "13",
"description": "Minimal Debian bootc base image",
"release": "bookworm",
"description": "Minimal Debian Trixie bootc image (Debian 13+ required for OSTree support)",
"release": "trixie",
"packages": {
"required": [
"linux-image-amd64",
"systemd",
"ostree",
"bootc",
"grub-pc",
"grub-efi-amd64",
"initramfs-tools",
"ca-certificates",
"curl",
"wget"
"bootc"
],
"optional": [
"openssh-server",
"vim",
"less",
"man-db"
"curl"
],
"recommended": [
"debian-archive-keyring",
"locales"
],
"build_deps": [
"build-essential",
"fakeroot",
"devscripts"
"ca-certificates"
]
},
"exclude": [
"snapd",
"flatpak",
"firefox",
"thunderbird"
"unattended-upgrades"
],
"repositories": [
"deb http://deb.debian.org/debian bookworm main",
"deb http://deb.debian.org/debian bookworm-updates main",
"deb http://deb.debian.org/debian-security bookworm-security main"
{
"name": "debian",
"url": "http://deb.debian.org/debian",
"suite": "trixie",
"component": "main",
"arch": "amd64",
"enabled": true
}
],
"architecture": ["amd64", "arm64"],
"architecture": ["amd64"],
"variants": [
{
"name": "minimal",
"description": "Minimal base system",
"architectures": ["amd64"],
"packages": {
"required": [],
"optional": [],
"recommended": [],
"build_deps": []
"recommended": []
},
"exclude": [],
"architecture": ["amd64", "arm64"],
"custom": false
},
{
"name": "server",
"description": "Server variant with additional packages",
"packages": {
"required": [
"openssh-server",
"nginx",
"postgresql-client"
],
"optional": [],
"recommended": [],
"build_deps": []
},
"exclude": [],
"architecture": ["amd64", "arm64"],
"custom": false
"config": {}
}
],
"build": {
"system": "sbuild",
"environment": "debootstrap",
"dependencies": "aptitude",
"parallel": true,
"max_workers": 4
"type": "sbuild",
"environment": {},
"options": {}
},
"ostree": {
"mode": "bare",
"refs": [
"debian/13/amd64/minimal",
"debian/13/arm64/minimal"
],
"repository": "/var/lib/deb-bootc-compose/ostree",
"signing": false,
"key_file": ""
"ref": "debian/13/amd64/minimal",
"subject": "Debian 13 Trixie minimal bootc image",
"body": "Minimal Debian Trixie bootc image for testing and development"
},
"output": {
"formats": ["container", "disk-image", "chunked-oci"],
"registry": "docker.io/debian",
"signing": false,
"compression": true
"formats": ["container", "disk"],
"container": {
"base_image": "debian:trixie-slim",
"labels": {
"org.debian.release": "13",
"org.debian.variant": "minimal"
},
"entrypoint": ["/usr/sbin/init"],
"cmd": []
},
"disk_image": {
"size": "10G",
"formats": ["raw", "qcow2"],
"bootloader": "grub",
"kernel": "linux-image-amd64",
"initramfs": true
}
},
"metadata": {
"maintainer": "debian-bootc-team@debian.org",
"homepage": "https://salsa.debian.org/debian-bootc-team/deb-bootc-compose"
}
}