# Debian bootc-image-builder Fork Roadmap ## Project Overview Fork of bootc-image-builder with osbuild backend adapted for Debian-based distributions. This project aims to provide a robust, pipeline-based image building solution for Debian ecosystems, replacing Fedora/RHEL-specific components with Debian equivalents. ## Phase 1: Foundation & Assessment (Weeks 1-4) ### 1.1 Repository Setup - [ ] Fork bootc-image-builder repository - [ ] Fork osbuild repository - [ ] Set up CI/CD pipeline for Debian testing - [ ] Create development environment documentation - [ ] Establish contribution guidelines ### 1.2 Codebase Analysis - [ ] Map all Fedora-specific osbuild stages - [ ] Identify RPM/DNF dependencies throughout codebase - [ ] Document Anaconda installer integration points - [ ] Catalog bootloader and system configuration differences - [ ] Create compatibility matrix for existing stages ### 1.3 Architecture Planning - [ ] Design Debian stage naming convention (org.osbuild.debian.*) - [ ] Plan APT/DPKG stage implementations - [ ] Design Calamares integration architecture - [ ] Define Debian repository handling approach - [ ] Plan testing strategy for multiple Debian variants ## Phase 2: Core Debian Stages (Weeks 5-12) ### 2.1 Package Management Stages - [ ] Implement `org.osbuild.debian.sources` (APT sources.list management) - [ ] Implement `org.osbuild.debian.apt-update` (package index updates) - [ ] Implement `org.osbuild.debian.apt-install` (package installation) - [ ] Implement `org.osbuild.debian.dpkg` (direct package handling) - [ ] Add support for APT preferences and pinning - [ ] Handle Debian signing keys and security ### 2.2 System Configuration Stages - [ ] Adapt `org.osbuild.users` for Debian conventions - [ ] Adapt `org.osbuild.groups` for Debian group standards - [ ] Implement Debian-specific systemd service management - [ ] Create `org.osbuild.debian.alternatives` stage - [ ] Handle Debian configuration file management (debconf) ### 2.3 Bootloader Integration - [ ] Adapt GRUB2 stages for Debian paths and conventions - [ ] Support Debian kernel naming conventions - [ ] Handle initramfs generation (update-initramfs) - [ ] Support secure boot for Debian - [ ] Test with different Debian architectures (amd64, arm64) ## Phase 3: Installer Integration (Weeks 13-20) ### 3.1 Calamares Integration - [ ] Remove Anaconda-specific stages - [ ] Implement `org.osbuild.calamares` configuration stage - [ ] Create Calamares settings and branding stages - [ ] Support Debian live-boot integration - [ ] Handle Calamares module configuration ### 3.2 ISO Creation Pipeline - [ ] Adapt bootable ISO stages for Debian live systems - [ ] Integrate with live-build workflows where beneficial - [ ] Support multiple desktop environments (GNOME, KDE, XFCE) - [ ] Handle Debian live persistence options - [ ] Test installer ISO functionality ### 3.3 Live System Features - [ ] Implement casper (Ubuntu) compatibility for broader ecosystem - [ ] Support live system customization stages - [ ] Handle firmware and driver inclusion - [ ] Create minimal/standard/full variant support ## Phase 4: Container & Cloud Integration (Weeks 21-28) ### 4.1 Container Image Support - [ ] Adapt container stages for Debian base images - [ ] Support Docker/Podman output formats - [ ] Integrate with Debian official container images - [ ] Handle multi-architecture container builds - [ ] Support container layer optimization ### 4.2 Cloud Platform Integration - [ ] AWS AMI creation with Debian - [ ] Google Cloud Platform image support - [ ] Azure VHD image creation - [ ] OpenStack qcow2 image support - [ ] Generic cloud-init integration ### 4.3 IoT & Edge Support - [ ] Raspberry Pi image creation - [ ] ARM64 SBC support (Pine64, etc.) - [ ] Minimal/embedded Debian variants - [ ] Custom partition layouts for embedded systems - [ ] OTA update preparation stages ## Phase 5: Testing & Validation (Weeks 29-36) ### 5.1 Automated Testing - [ ] Unit tests for all Debian-specific stages - [ ] Integration tests with real Debian repositories - [ ] Automated ISO testing in virtual machines - [ ] Cloud image deployment validation - [ ] Performance benchmarking against alternatives ### 5.2 Distribution Coverage - [ ] Debian Stable (Bookworm) support - [ ] Debian Testing support - [ ] Ubuntu LTS compatibility testing - [ ] Debian derivative testing (Raspberry Pi OS, etc.) - [ ] Architecture support validation (amd64, arm64, armhf) ### 5.3 Compatibility Testing - [ ] Bootc compatibility validation - [ ] Container runtime integration testing - [ ] Cloud platform deployment testing - [ ] Hardware compatibility testing - [ ] Upgrade/migration path validation ## Phase 6: Documentation & Release (Weeks 37-44) ### 6.1 Documentation - [ ] Complete user documentation - [ ] Developer contribution guide - [ ] Stage development tutorial - [ ] Migration guide from other tools - [ ] Best practices and examples ### 6.2 Community Building - [ ] Package for Debian repositories - [ ] Create example configurations - [ ] Establish support channels - [ ] Engage with Debian community - [ ] Present at relevant conferences ### 6.3 Release Preparation - [ ] Security audit of codebase - [ ] Performance optimization - [ ] Release candidate testing - [ ] Version 1.0 release - [ ] Post-release monitoring and support ## Success Metrics ### Technical Goals - Support all major Debian variants and architectures - Achieve feature parity with original bootc-image-builder for Debian - 95% test coverage for Debian-specific stages - Build times competitive with existing solutions - Memory usage optimization for resource-constrained environments ### Adoption Goals - 5+ community contributors by Phase 6 - Package inclusion in Debian repositories - 3+ downstream projects using the tool - Positive community feedback and engagement - Documentation rated as comprehensive by users ## Risk Mitigation ### Technical Risks - **osbuild API changes**: Pin to stable osbuild version, maintain compatibility layer - **Debian repository changes**: Implement robust error handling and fallback mechanisms - **Bootloader complexity**: Start with well-tested configurations, expand gradually - **Architecture differences**: Use emulation for testing, maintain architecture matrix ### Resource Risks - **Development capacity**: Prioritize core functionality, defer nice-to-have features - **Testing infrastructure**: Leverage GitHub Actions, request Debian project resources - **Community engagement**: Start with existing bootc users, expand to Debian community ## Future Considerations ### Post-1.0 Features - Integration with Debian's official infrastructure - Advanced security features (TPM, measured boot) - Plugin system for custom stages - Web UI for image configuration - Integration with Kubernetes and container orchestration ### Long-term Vision - Become the de facto standard for Debian image building - Support for immutable Debian variants - Integration with Debian's release process - Cross-distribution compatibility framework --- **Last Updated**: August 11, 2025 **Next Review**: Weekly during active development **Project Lead**: [Your Name] **Repository**: [Fork URL when created]