container-builder-shim is a lightweight bridge that connects BuildKit's session protocol with containerization's Build API. It enables compatibility between BuildKit (the build engine behind Docker) and containerization by translating messages and file transfers between their respective APIs.
-
Protocol Translation:
- Translates session protocol messages from BuildKit into requests understood by containerization.
-
Session Management:
- Handles file synchronization, image resolution, build output streaming, and caching.
- FSSync: Transfers local files required for builds.
- Resolver: Resolves image references and tags.
- ContentStore: Retrieves and caches build dependencies like base images and layers.
- Exporter: Provides the final built image, including metadata and manifests.
- IO Stream: Streams real-time build logs and progress updates.
- BuildKit initiates a session via gRPC.
- container-builder-shim intercepts session requests (file sync, image resolution, etc.).
- Requests are translated to containerization's Build API format.
- containerization processes the build.
- Build output and metadata flow back through container-builder-shim to BuildKit.
Contributions to Containerization are welcomed and encouraged. Please see our main contributing guide for more information.