No description
| .forgejo/workflows | ||
| .github | ||
| .helix | ||
| examples | ||
| integration-tests | ||
| process | ||
| recipe | ||
| scripts | ||
| src | ||
| template | ||
| test-files | ||
| utils | ||
| .earthlyignore | ||
| .editorconfig | ||
| .envrc | ||
| .gitignore | ||
| .rusty-hook.toml | ||
| bacon.toml | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| cliff.toml | ||
| cosign.pub | ||
| DEBIAN_INTEGRATION_APPROACH.md | ||
| distrobox.ini | ||
| Earthfile | ||
| flake.lock | ||
| flake.nix | ||
| install.sh | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
| rust-toolchain.toml | ||
| rustfmt.toml | ||
Debian Blue-Build CLI
A fork of blue-build/cli adapted for Debian package management and atomic image building.
Overview
Debian Blue-Build CLI provides a command-line interface for building Debian atomic images using recipe-based configuration, maintaining compatibility with the original blue-build system while adding Debian-specific functionality.
Features
- Debian package management (APT-based)
- Recipe-based image configuration
- OSTree composition support
- Bootc container generation
- Multi-format image output
Installation
# Clone the repository
git clone <repository-url>
cd blue-build-cli
# Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Build the CLI
cargo build --release
# Install the CLI
cargo install --path .
Usage
Basic Recipe
# recipe.yml
name: debian-server
version: 1.0.0
description: Debian server image
packages:
- openssh-server
- nginx
- postgresql
repositories:
- deb http://deb.debian.org/debian trixie main
- deb http://deb.debian.org/debian-security trixie-security main
customizations:
user:
name: admin
password: secure_password
network:
hostname: debian-server
Build Command
# Build image from recipe
debian-blue-build build recipe.yml
# Build with custom output format
debian-blue-build build recipe.yml --format qcow2
# Build with specific architecture
debian-blue-build build recipe.yml --arch amd64
Architecture
- Recipe Parser: YAML recipe processing
- Package Manager: APT-based package handling
- Image Builder: OSTree and container generation
- Output Formats: ISO, QCOW2, RAW, VMDK support
Development Status
- Core CLI: ✅ Implemented (Rust-based)
- Debian Integration: 🚧 In Progress
- Recipe System: ✅ Basic structure
- Debian Driver: 🚧 Implemented (basic)
- Debian Modules: 🚧 Implemented (debian-packages)
- Testing: 🚧 Basic structure
Dependencies
- Rust 1.70+
- OSTree tools
- Debian build tools (debootstrap, apt-get, dpkg)
- Container tools (Docker/Podman/Buildah)
Supported Debian Versions
This project supports the following Debian releases:
- Debian 13 (Trixie): Current stable release (recommended)
- Debian 14 (Forky): Testing release
- Debian Sid: Unstable/rolling release
Note: Debian 12 (Bookworm) is no longer supported as it has moved to oldstable.
Configuration
Configuration files are located in ~/.config/debian-blue-build/.
Contributing
See CONTRIBUTING.md for development guidelines.