particle-os-cli/README.md
2025-08-27 15:21:27 -07:00

2.8 KiB

BlueBuild. A minimal logo with a blue-billed duck holding a golden wrench in its beak.

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.