BuildKit vs SingularityCE
BuildKit
github.comSingularityCE
sylabs.ioSide by side
| Figure | BuildKit | SingularityCE |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Container Engines | 8.9 (#2) | 7.3 (#24) |
| Integrations | BuildKit documentation lists integrations or usage with Podman, nerdctl, Kubernetes, Docker buildx, GitHub Actions cache, S3 cache, Azure Blob Storage cache, and OpenTelemetry. | The guide documents GPU access, containerized MPI applications, OCI registries, and Sylabs Container Services Library usage. |
| Purpose | BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. | SingularityCE creates and runs portable, reproducible containers that package software into a single file. |
| Security model | BuildKit describes itself as secure by default and usable with untrusted sources. | By default, the user inside a container remains the same user as outside and cannot gain additional privilege on the host. |
Plans
In their own words
BuildKit
BuildKit is a free toolkit for turning source code into build artifacts. It consists of the buildkitd daemon and buildctl client, and uses LLB, a binary format for describing process dependency graphs. Builds can use Dockerfiles or other LLB-compatible frontends, resolve dependencies concurrently, cache instructions, import and export caches, run nested jobs, and collect unused data automatically. BuildKit supports execution without root privileges and OCI (runc) or containerd workers. Results can be exported as images, local directories, tarballs, Docker tarballs, or OCI tarballs. Cache options include inline, registry, local-directory, and GitHub Actions backends; the README marks GitHub Actions, S3, and Azure Blob options experimental. The daemon provides a gRPC API over a Unix socket by default, with TCP sockets also supported. Binaries are available for Linux, macOS, and Windows. The unofficial Homebrew formula for macOS omits buildkitd; the project gives Lima in a Linux virtual machine as one way to run it. BuildKit is licensed under Apache-2.0.
SingularityCE
SingularityCE has no write-up on Specifiction yet; its figures are above.