Blubber

Wikimedia Release Engineering's Blubber: a BuildKit frontend
Blubber (GitLab repo) (GitHub mirror repo) is a BuildKit frontend developed by Wikimedia Release Engineering for building application container images. Its core functionality lies in defining container images from a minimal set of declarative constructs written in Yaml.
Key features
- Composability, Determinism, Cache Efficiency, and Secure Defaults
- Blubber prioritizes these characteristics in its image building process.
- Integration with BuildKit: Blubber functions as a frontend for BuildKit, allowing it to work with
buildctl
anddocker build
commands.
- Multi-platform Builds and Image Attestations
- It supports building images for multiple platforms simultaneously and generating attestations such as Software Bill of Materials (SBOM) and provenance metadata.
- YAML-based Configuration
- Image definitions are written in YAML, promoting readability and ease of management.
Blubber work-alikes
While Blubber offers a specialized approach to container image building, several tools provide similar functionalities, particularly in the realm of building images from declarative specifications or within container environments:
- Buildah
- A command-line tool that can build images from Dockerfiles and create container images from scratch or by using an existing image as a starting point. It offers fine-grained control over the image building process and can be used to build images layer by layer.
- Kaniko
- A tool designed for building container images within a Kubernetes cluster. It doesn't require a Docker daemon and can build images from Dockerfiles and other sources.
- Docker Buildx
- An extension for Docker that leverages BuildKit's advanced features, including multi-platform builds and enhanced caching capabilities.
- Ko
- Focuses on building Go applications and packaging them into container images, simplifying the process of creating images for Go projects.
- Pack
- Separates the build container from the final run container, allowing for more secure and optimized images.
- Apko
- A build tool that strictly enforces the use of APK packages for image content, enabling the creation of minimal and secure base images, according to Chainguard[1].
These tools, similar to Blubber, aim to provide more efficient, secure, and controlled ways of building container images compared to traditional Dockerfile-based approaches, catering to various use cases and preferences within the container ecosystem.
README
You are being redirected.
Docs
- https://doc.wikimedia.org/releng/blubber/
- https://wikitech.wikimedia.org/wiki/User:TCipriani_(WMF)/Blubber