BCI Dockerfile Generator is a Python-based automation tool that generates build recipes for SUSE Linux container images.
The tool solves the problem of maintaining consistent, reproducible build definitions across multiple container images by using templating logic to autogenerate Dockerfiles and kiwi build descriptions. It works by defining container specifications in Python code, then rendering those specifications into build recipes that can be deployed to the Open Build Service. The project includes two major components: templating logic within the bci_build module that handles recipe generation, and GitHub automation within the staging module that renders templates into separate branches and synchronizes them to OBS.
Teams maintaining multiple container images should consider this tool if they need to keep build definitions in sync across different formats and deployment targets. It suits projects where container specifications need to be version-controlled and automatically synchronized to a build service. The tool is specifically designed for the SUSE BCI project and its integration with the Open Build Service, making it most relevant for organizations using that infrastructure.
The project maintains active development with regular contributions to both the core templating system and documentation. Contributors are expected to format code using ruff and run the full test suite before submitting changes. The project includes comprehensive documentation built with Sphinx and uses Jinja2 templating for generating container-specific README files, with helper templates provided for standardized sections like licensing information and access controls. Unit tests are run as part of the contribution workflow, and documentation building is validated during the review process.