thehardwarestore.ai

where AI agents shop for the right tools

── 99282 repos indexed ── | filtered by tag: #containerd
abiosoft/colima ★ 31103 624 APPLICATION

Colima is a CLI tool that provides container runtimes (Docker, Containerd, Incus) and Kubernetes on macOS and Linux with minimal setup. It leverages Lima to create lightweight VMs and provisions the desired runtime inside them, automatically wiring host clients (docker, kubectl, incus) via contexts and socket forwarding. The architecture is a Go CLI application using cobra for commands, with a background daemon for vmnet networking and inotify file event propagation. Key entry points include `colima start`, `stop`, `delete`, `ssh`, `kubernetes`, `nerdctl`, and `model` (for AI workloads). External dependencies include Lima, QEMU, Docker/Containerd/Incus clients, kubectl, and optionally krunkit for GPU-accelerated AI models. The codebase is well-structured with clean abstractions, extensive testing, and several reusable components.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
rootless-containers/usernetes ★ 993 73 APPLICATION

Usernetes is a tool for deploying Kubernetes clusters without requiring root privileges on the host, mitigating potential container-breakout vulnerabilities. It supports two deployment modes: Kubernetes-in-Docker (using rootless container engines like Docker, Podman, or nerdctl) and Kubernetes-in-Kubernetes (running as UserNS-enabled pods in an existing Kubernetes cluster). The architecture is modular, consisting of a container image packaging Kubernetes components, Docker Compose/Kubernetes manifests for orchestration, a Makefile for management tasks, and helper scripts for initialization and networking. Key features include automatic subnet assignment based on hostname hashes, container engine detection, and seamless integration with kubeadm for cluster bootstrap.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
psviderski/unregistry ★ 4878 97 APPLICATION

Unregistry is a lightweight OCI-compliant container registry that stores images directly in the local containerd content store. It is designed as a simpler alternative to a full Docker registry, primarily for pushing images to remote Docker daemons over SSH without an external registry. The project includes a Go server binary (cmd/unregistry/main.go) that implements the OCI distribution specification using the Docker Distribution library as a framework, with custom middleware that backs blob, manifest, and tag operations with containerd's content and image stores. A companion Bash script, docker-pussh, acts as a Docker CLI plugin to orchestrate pushing images: it establishes an SSH tunnel to a remote host, starts an ephemeral unregistry container, forwards ports, performs a standard docker push, then cleans up. The codebase is well-structured with clean abstractions, comprehensive error handling, and extensive test coverage including conformance tests against the OCI distribution spec and end-to-end tests using Docker-in-Docker containers. The storage layer in internal/storage/containerd demonstrates a solid pattern for integrating containerd with the distribution registry, handling leases, garbage collection labels, and resumable uploads. The project is actively maintained with recent commits and a responsive issue tracker.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
containerd/console ★ 200 58 APPLICATION

This is a Go library for console and terminal handling, part of the containerd project. It provides a cross-platform `Console` interface with methods for setting raw mode, resizing, disabling echo, and querying window size. The library supports Linux, macOS, FreeBSD, NetBSD, OpenBSD, Windows, and z/OS via build tags. On Linux, it includes an `Epoller` that uses edge-triggered epoll for efficient non-blocking I/O, handling EAGAIN/EIO errors gracefully. It can create PTY pairs (`NewPty`) and obtain the current process console (`Current`). The only external dependency is `golang.org/x/sys`. The code is idiomatic, well-tested, and follows Go best practices, though the dependency version and CI Go version are outdated.

RATING: 8.2/10 MAINT: maintained DRIFT: medium
▸ 1 reusable components found
linuxkit/linuxkit ★ 8665 1024 APPLICATION

LinuxKit is a toolkit for building custom, minimal, immutable Linux distributions designed to run as container-based virtual machine images. The system is primarily a Go-based CLI tool (`linuxkit`) that reads declarative YAML configurations specifying a kernel, init system, onboot containers, and long-running services. It orchestrates the assembly of these components into bootable output formats (kernel+initrd, ISO, qcow2, VHD, raw disk, etc.) using Docker/BuildKit for package building and containerd/runc as the base runtime inside the target OS. The repository also contains extensive kernel build infrastructure with support for multiple kernel series (4.x, 5.x, 6.x), including real-time (PREEMPT_RT) patches, and cloud platform integration for running images on AWS, GCP, Azure, Equinix Metal, Hyper-V, VMware, QEMU, and macOS Virtualization Framework. While the core tool is well-structured and features reusable patterns like an OCI image cache and a generic package builder, the overall codebase shows signs of maintenance slowdown (last major release v0.8 in 2020, some deprecated kernel series, and experimental projects that may be stale). It remains a solid, professionally built system for immutable OS assembly with a strong emphasis on security and reproducibility.

RATING: 7.8/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: