Skip to main content

Swarm it. Build it. Run it. — Managing container base and library images has never been easier.

Project description

ContainerHive

LICENSE CircleCI codecov GitHub Release Renovate pre-commit


Swarm it. Build it. Run it. — Managing container base and library images has never been easier.

Motivation

Managing container base images and library images at scale is surprisingly painful. Teams end up with scattered Dockerfiles, manual build scripts, inconsistent tagging, and no dependency tracking between images. CI pipelines are hand-rolled per project, caching is an afterthought, and reproducibility is a dream.

ContainerHive grew out of poc-container-image-manager, a Python-based proof of concept that validated the core idea: declarative, YAML-driven image management with dependency resolution, templating, and CI generation. The PoC proved the concept works — but being Python-based, it required a runtime, bundled platform-specific binaries, and wasn't practical to distribute as a single portable tool.

ContainerHive is the production-grade successor, rewritten in Go as a single static binary with no external dependencies beyond BuildKit. It takes the validated ideas from the PoC and packages them into something you can drop into any CI pipeline or developer workstation without setup overhead.

Features

  • Next-gen builds: Powered by BuildKit, the modern container image builder behind Docker.
  • Multi-platform ready: Build and push images for any architecture in a single workflow.
  • YAML-driven management: Define and maintain image sets and variants declaratively.
  • Reproducible layers: Guarantee consistent, bit-for-bit identical builds every time (given the same inputs).
  • Testing built in: Validate images as part of the build process, no extra tooling needed.
  • Smart caching: Optimized caching via S3 or registry backends, no manual tuning required.
  • SBOM generation: Generate CycloneDX SBOMs for all built images using Syft.
  • CI pipeline generation: Generate GitLab CI and GitHub Actions pipelines from your project definition.
  • Bring your own BuildKit: Connect to any BuildKit instance — local daemon, shared cluster service, or sidecar in a hardened Kubernetes environment.
  • Enterprise-ready: Built for scale, compliance, and integration with enterprise workflows.

Supported platforms

The following platforms have prebuilt binaries:

  • Linux
    • 64-bit
    • ARM 64-bit
  • Darwin
    • 64-bit (Intel)
    • ARM 64-bit (Apple Silicon)
  • Docker (x86 & ARM)

Requirements

  • BuildKit daemon
  • S3-compatible storage for caching (optional)

Installation

See the installation guide for detailed instructions.

Documentation

Documentation is available at container-hive.timo-reymann.de, hosted on GitHub Pages.

Contributing

I love your input! I want to make contributing to this project as easy and transparent as possible, whether it's:

  • Reporting a bug
  • Discussing the current state of the configuration
  • Submitting a fix
  • Proposing new features
  • Becoming a maintainer

To get started please read the Contribution Guidelines.

Development

Requirements

Test

make test-coverage-report

Build

make build

AI Usage

This project uses AI tooling to assist with development. All AI-generated or AI-assisted changes are human-reviewed and applied responsibly — this is not AI slop. Contributors are expected to uphold the same standard: AI tools are welcome, but every change must be understood, reviewed, and owned by the person submitting it.

Credits

Without these libraries this project would not be possible:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

containerhive-0.21.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (74.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

containerhive-0.21.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (77.0 MB view details)

Uploaded Python 3manylinux: glibc 2.12+ x86-64

containerhive-0.21.1-py3-none-macosx_11_0_arm64.whl (76.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

containerhive-0.21.1-py3-none-macosx_10_9_x86_64.whl (80.8 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file containerhive-0.21.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for containerhive-0.21.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 24f80cedba45fa94f7c460158dec2abe6ba5eebe463e44580b5d50d5f9d2c3b8
MD5 cb54806cf76c3f41db6897180d1a5f8a
BLAKE2b-256 eb64f316f36d0ddab2e30ed6e698e4e1a3d7a81bbe55d32612d4c08d0f738706

See more details on using hashes here.

File details

Details for the file containerhive-0.21.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for containerhive-0.21.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e187f75250ab348ea5957e737e6d0af55f61e1994e909a8ebcdc9ea053f972fa
MD5 68bff4ab92562f7741e9bfe7845c2816
BLAKE2b-256 d9a48f8239033fc558bf8ab04a91661999862fb791d6b37f9cc3135cc273d5a0

See more details on using hashes here.

File details

Details for the file containerhive-0.21.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for containerhive-0.21.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7005fa4f88a7aeb769b3b6c3769088b053d4ab629010acf50acba473140204b
MD5 5c9e1dd0ed08ec8218cf6fbc88add749
BLAKE2b-256 21cafd1d74d1dfdc482761652513840c7029286259893561b39b2fcb56d5114f

See more details on using hashes here.

File details

Details for the file containerhive-0.21.1-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for containerhive-0.21.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5a23181e7dfa55eac91de2a3acd143696884518a38141022f85b6a71bc6fac6d
MD5 2f773f14ce7b9cdf53e2aecad4a73933
BLAKE2b-256 d8b06eb84ee47dd33951a60f0e4c615b49ca5f5b609a83a46370a59339a26b5c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page