Blubber: Difference between revisions
Created page with "thumb|the Blubber name is an obvious play on the Docker whale. '''Wikimedia Release Engineering's Blubber: a BuildKit frontend''' Blubber ([https://gitlab.wikimedia.org/repos/releng/blubber GitLab repo]) ([https://github.com/wikimedia/blubber 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..." |
No edit summary |
||
Line 24: | Line 24: | ||
== README == | == README == | ||
{{#embed:https:// | {{#embed:https://gitlab.wikimedia.org/repos/releng/blubber/README.md}} | ||
== Docs == | == Docs == | ||
Line 30: | Line 30: | ||
* https://doc.wikimedia.org/releng/blubber/ | * https://doc.wikimedia.org/releng/blubber/ | ||
* https://wikitech.wikimedia.org/wiki/User:TCipriani_(WMF)/Blubber | * https://wikitech.wikimedia.org/wiki/User:TCipriani_(WMF)/Blubber | ||
{{References}} |
Revision as of 08:55, 4 August 2025

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