thehardwarestore.ai

where AI agents shop for the right tools

── 99628 repos indexed ── | filtered by tag: containers
podman-container-tools/buildah ★ 9056 932 APPLICATION

Buildah is a command-line tool for building OCI-compliant container images without requiring a daemon. It focuses on image creation tasks such as building from Dockerfiles/Containerfiles, managing working containers, committing images, and pushing/pulling to registries. The architecture is modular, separating CLI command handling (using Cobra), core build logic, storage abstraction, and utility packages. Key features include rootless operation, multi-platform support (Linux/FreeBSD), SBOM generation, and confidential workload encryption via SEV/SNP. The tool is designed for integration with container ecosystems like Podman and Kubernetes, emphasizing security and flexibility in image building workflows.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
goharbor/harbor ★ 29467 5366 APPLICATION

Harbor is an open-source, cloud-native container registry platform for managing OCI/Docker images, Helm charts, and other artifacts. It provides a full-stack solution with a Go backend, Angular web portal, PostgreSQL database, and Redis/ValKey job queue. The system supports artifact storage, vulnerability scanning (Trivy integration), SBOM generation, multi-registry replication (Docker Hub, Quay, JFrog, cloud CRs), tag retention policies, immutable tags, RBAC with LDAP/OIDC, robot accounts, webhook/notification pipelines, P2P preheat, and audit logging. The architecture follows a layered pattern: REST API handlers (v2.0) → controllers → managers → DAOs, with middleware chains for security, quota, and content trust. Key entry points include the core API server, job service for background tasks, registry controller for blob/manifest management, and the Angular portal for administration. External dependencies include PostgreSQL, Redis, Trivy scanner, and various cloud registry APIs. The codebase is well-structured with extensive unit and integration tests, though it exhibits some technical debt from generated mocks and legacy components.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
moby/moby ★ 72133 19235 APPLICATION

The Moby project is the upstream open-source project for Docker Engine, implementing a container platform with daemon/client architecture. It provides container lifecycle management, image handling, networking, storage, and orchestration capabilities through a highly modular design with swappable components for storage drivers, network drivers, logging drivers, and authorization plugins. The codebase demonstrates strong engineering practices including context propagation, consistent error handling, plugin architecture, and functional options patterns. The system uses containerd as the underlying container runtime and exposes both HTTP and gRPC APIs for client interaction.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
bottlerocket-os/bottlerocket ★ 9676 583 APPLICATION

Bottlerocket is a free, open-source Linux-based operating system purpose-built for hosting containers. It is designed with a strong focus on security, immutability, and reliable updates. The system is configured entirely through an API-driven settings model, with all configuration stored as key-value pairs in a filesystem datastore. It supports multiple orchestrator variants (Amazon EKS, Amazon ECS, VMware, and bare metal) and cloud platforms (AWS, VMware, bare metal), with specialized variants for NVIDIA GPUs and FIPS compliance. The architecture is a minimal, Rust-heavy OS image built via a custom build system (Twoliter). The core components include a settings datastore with serialization/deserialization, a versioned migration framework for safe upgrades/downgrades, per-variant settings plugins loaded as dynamic libraries, and a TUF-based update mechanism with A/B partition flipping. The build system produces bootable images (AMIs, OVAs, raw images) and publishes them to TUF repositories. The codebase is organized as a Cargo workspace with hundreds of small crates, each handling a specific concern (migrations, defaults, plugins, models). Key entry points include the build system (cargo make), the settings datastore library (sources/api/datastore), the migration helpers (sources/api/migration/migration-helpers), and the per-variant settings defaults (sources/settings-defaults). The repository also contains tools for local VM testing, kernel config diffing, and secure boot key generation. While the codebase is well-structured and actively maintained, it suffers from significant duplication across many similar variants (e.g., Kubernetes 1.31 through 1.37) and a large number of archived migrations, which increases maintenance burden.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
replicate/cog ★ 9489 699 APPLICATION

Cog is an open-source CLI and runtime for packaging machine learning models into production-ready Docker containers. It automatically generates HTTP inference servers with OpenAPI schema, handles GPU/CUDA/cuDNN compatibility, and provides a full weight management pipeline for large model artifacts. The project consists of a Go CLI (build, push, serve, predict, doctor, weights management), a Rust/PyO3 prediction server (coglet) with slot-based concurrency, a Python SDK for defining model interfaces (BaseRunner, Input, streaming), and a TypeScript playground UI. Key workflows include building OCI images from cog.yaml, pushing to registries, serving models via HTTP with SSE streaming, and managing model weights via content-addressed storage and lockfiles. The architecture is multi-language but cleanly separated, with well-defined protocols between components.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
kubernetes-sigs/cri-tools ★ 2012 490 APPLICATION

This repository provides two primary tools for the Kubernetes Container Runtime Interface (CRI): `crictl`, a CLI for debugging and managing CRI-compatible container runtimes (containerd, CRI-O, etc.), and `critest`, a validation and benchmarking suite for CRI implementations. The architecture is a Go-based CLI application built with `urfave/cli/v2`, communicating with runtimes via gRPC using the CRI API (`k8s.io/cri-api`). Key entry points are `cmd/crictl/main.go` (registering subcommands like exec, logs, pull, inspect, stats) and `cmd/critest/cri_test.go` (running Ginkgo-based conformance and benchmark tests). Data flows are straightforward: `crictl` sends CRI RPCs to a runtime endpoint (e.g., containerd socket) and displays results in table, JSON, or YAML format; `critest` executes a comprehensive suite of validation tests against the runtime, covering pods, containers, images, networking, security contexts, streaming, and NRI (Node Resource Interface). External dependencies include the Kubernetes CRI client libraries, OpenTelemetry for tracing, and various container runtime-specific packages. The project is cross-platform (Linux, Windows, FreeBSD) and includes extensive CI/CD pipelines testing against containerd and CRI-O across multiple versions.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
AthenZ/athenz ★ 1007 313 APPLICATION

Athenz is an open-source, fine-grained authorization and identity management platform designed for zero-trust environments. It provides centralized (ZMS) and decentralized (ZTS) services for issuing short-lived X.509 certificates, managing role-based access control (RBAC), and enforcing policies across multi-cloud and on-premise infrastructures. The system supports AWS, GCP, Azure, and Kubernetes workloads through pluggable attestation validators and credential providers, enabling service-to-service authentication and authorization without shared secrets. Architecturally, Athenz comprises three core servers: ZMS (management service for domains, roles, policies), ZTS (token service for certificates, OAuth2 tokens, SSH certs), and MSD (micro-segmentation for network policy management). A React/Next.js UI provides administrative management, while client libraries in Java, Go, and Node.js enable integration. The codebase is organized into modular Maven submodules with RDL-generated data models, extensive unit/integration tests, and Docker/Kubernetes deployment artifacts. Key patterns include factory-based dependency injection (e.g., cert signers, private key stores, notification services), dynamic configuration reloading, and composite validators for cloud attestation. This is a production-grade application with clean abstractions, well-defined interfaces, and significant test coverage. While the codebase contains some generated boilerplate and cloud-specific implementations that may drift, the core libraries and utility classes are reusable and demonstrate strong engineering practices.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
just-containers/s6-overlay ★ 4576 239 APPLICATION

s6-overlay is a production-grade init system and process supervisor for Docker containers, built on top of the s6 ecosystem (s6, s6-rc, s6-linux-init). It replaces the default container PID 1 with a robust supervision tree that handles zombie reclamation, orderly startup/shutdown, service dependencies, and logging. The architecture is layered: stage0 (s6-linux-init-maker) generates stage1 infrastructure at runtime, stage2 (rc.init) compiles s6-rc service databases and brings up services via s6-rc, supporting both legacy /etc/services.d directories and modern s6-rc source definitions. The system provides utilities like with-contenv (inject container environment), logutil-service (privilege-dropped logging), and with-retries (retry with timeout). It handles edge cases such as read-only root filesystems, non-root USER directives, and Kubernetes world-writable /run configurations. The codebase is predominantly shell and execline scripts, with a Makefile-based build system that cross-compiles all skaware dependencies statically. It is actively maintained, with a clear separation of concerns and extensive documentation derived from the actual code behavior.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Azure-Samples/rag-postgres-openai-python ★ 505 1056 APPLICATION

This repository provides a production-ready, full-stack Retrieval-Augmented Generation (RAG) chat application built with Python FastAPI and React TypeScript. It demonstrates how to use Azure OpenAI (or OpenAI.com, or Ollama) to answer questions about data stored in Azure Database for PostgreSQL with the pgvector extension. The system supports both a simple RAG flow (embedding + direct search) and an advanced flow that uses OpenAI function calling to rewrite queries and apply column filters (brand, price). It features hybrid search combining full-text search and vector similarity via Reciprocal Rank Fusion. The backend is a monolith serving API endpoints and a React frontend, designed for deployment to Azure Container Apps using the Azure Developer CLI. The codebase includes comprehensive unit tests, end-to-end tests with Playwright, evaluation scripts, load testing with locust, and safety evaluation using Azure AI Red Teaming. The architecture is cleanly separated into reusable modules, making it a solid reference architecture for building RAG applications on Azure.

RATING: 8.5/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
parca-dev/parca ★ 4995 266 APPLICATION

Parca is a continuous profiling platform that collects, stores, queries, and visualizes pprof profiles in real time. The Go backend ingests profiles via gRPC (both pprof and OpenTelemetry OTLP), normalizes them into Apache Arrow columnar format, and stores them in either FrostDB (default) or ClickHouse. It provides a rich gRPC+JSON API for querying profiles (flamegraph, table, source view, callgraph, pprof download), scraping Prometheus-style targets, managing debug information for symbolization, and sharing profiles via links. The TypeScript/React frontend delivers an interactive profiling UI with flamegraphs, tables, source views, metrics graphs, sandwich views, and comparison mode, all backed by efficient Arrow-based querying. The codebase demonstrates strong engineering with reusable patterns (generic caching, signed request abstraction, Arrow compaction), but carries some drift risk from dual storage backends, generated protobuf code, and a complex UI state layer built with multiple state management strategies.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
BretFisher/docker-vackup ★ 493 79 APPLICATION

Vackup is a standalone bash script CLI tool for backing up and restoring Docker volumes. It provides four core commands: export (volume to tarball), import (tarball to volume), save (volume to Docker image), and load (Docker image to volume). The tool runs temporary busybox containers to perform file operations, ensuring compatibility across Linux and macOS. It features robust error handling with user-definable failure hooks, cross-platform path resolution, and a comprehensive Bats test suite. The tool is designed to be run from any host with Docker CLI access, with optional Docker image distribution via the provided Dockerfile.

RATING: 8.3/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
mudler/luet ★ 307 30 APPLICATION

Luet is a container-native package manager for building, installing, and managing software packages. It uses Docker/buildah as build backends, treats packages as container images, and employs SAT solving (with optional Q-learning) for dependency resolution. The application features a CLI-driven architecture with commands for package operations, repository management, and system maintenance. Key architectural elements include a modular design with pluggable solvers, compiler backends, and repository clients, plus a context-based dependency injection system for logging, configuration, and garbage collection. The system stores package metadata in BoltDB or in-memory databases and supports templating via Sprig for dynamic package definitions.

RATING: 8.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
kata-containers/kata-containers ★ 8954 1513 APPLICATION

Kata Containers is an open-source secure container runtime that runs each container inside a lightweight virtual machine (microVM), providing strong workload isolation while maintaining container-like performance and orchestration. The project provides a containerd shim-v2 implementation, a guest-side agent, and supports multiple hypervisors including QEMU, Cloud Hypervisor, Firecracker, and its own built-in VMM (Dragonball). It integrates deeply with Kubernetes (runtime classes, CSI, mutating webhooks, policy generation via Rego) and supports confidential computing features (TDX, SEV-SNP, IBM Secure Execution, ARM CCA). The codebase is dual-language: the primary runtime is written in Go, with a newer Rust rewrite (runtime-rs) that shares core libraries with the agent and Dragonball VMM. The project is actively maintained with extensive CI, multi-architecture support, and a large ecosystem of tools (agent-ctl, kata-ctl, log-parser, trace-forwarder, genpolicy). While the architecture is modular and many components (e.g., safe-path, dbs-allocator, retry library) are independently reusable, the coexistence of two runtime implementations, generated API clients, and architecture-specific code introduce some technical drift and maintenance overhead.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
bitnami/containers ★ 4454 6858 APPLICATION

This repository is the official Bitnami Containers Library, a monorepo containing Dockerfiles and container runtime initialization scripts for hundreds of open-source applications. It does not contain application source code; instead, it provides the infrastructure to package and run applications like PostgreSQL, Redis, Kafka, WordPress, TensorFlow, and many more in Docker containers. The architecture is a per-application, versioned directory tree under `bitnami/<app>/<version>/<os>/` with standardized lifecycle scripts: `entrypoint.sh`, `setup.sh`, `run.sh`, `postunpack.sh`, and environment configuration files (`*-env.sh`). A set of shared shell libraries (e.g., `liblog.sh`, `libfile.sh`, `libnet.sh`, `libpersistence.sh`) appear in each image's `prebuildfs` directory, enabling consistent logging, file manipulation, networking, and persistence patterns. The scripts follow a rigid pattern of validation, initialization, and execution, with Kubernetes-aware features such as non-root user support, secret injection via `_FILE` environment variables, and volume-based persistence management. While the repository is actively maintained and widely used, the codebase suffers from massive duplication of these shared libraries across image directories, which increases the risk of drift and makes updates error-prone. The focus is on operational reliability and security hardening (HVEs, non-root defaults, read-only root filesystem compatibility) rather than innovative software architecture.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found
kernel/kernel-images ★ 1063 83 APPLICATION

This repository, kernel-images, is a production-grade browser automation platform that manages sandboxed Chromium instances inside Docker containers or Unikraft unikernels. It provides a REST API for controlling browser lifecycle (start, configure, record, terminate), a WebSocket proxy for Chrome DevTools Protocol (CDP) access, and telemetry capture (console, network, interaction events) via an event pipeline that exports to OTLP or S2 storage. The system supports headful and headless modes, with a Vue.js remote desktop client (based on Neko) for interactive use, and scale-to-zero infrastructure that drains TCP connections before terminating idle instances. The architecture is a Go API server (using chi router and OpenAPI-generated types) that orchestrates per-instance components: a Chromium launcher, CDP monitor with humanization modules (typing, mouse trajectory), FFmpeg-based recording with chapter markers, and a Playwright daemon for browser automation scripts. The codebase exhibits strong separation of concerns, extensive unit and end-to-end testing, and several independently reusable packages (ring buffer event system, debounced scale-to-zero controller, safe archive utilities, policy overrides with unknown field preservation). While the core is well-engineered, there are signs of technical drift: the Vue.js client uses Vue 2 (deprecated), custom Xorg input drivers may break with newer X server versions, and CDP protocol structures are pinned to a specific Chrome version. The mix of Go, TypeScript, and Python increases maintenance complexity, and some e2e tests depend on fragile environment configurations.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
dusty-nv/jetson-containers ★ 4887 855 APPLICATION

This repository is a container build system and runtime for NVIDIA Jetson edge AI devices. It provides a modular, composable framework for building Docker images pre-configured with AI/ML libraries (LLMs, VLMs, robotics, speech, computer vision) optimized for Jetson's ARM64 + CUDA architecture. The system includes a CLI (`jetson-containers`), dependency resolution, multi-stage Docker builds, automated testing, and CI/CD workflow generation. While primarily a build tool, it also ships hundreds of ready-to-use container definitions for popular frameworks like PyTorch, TensorFlow, vLLM, ComfyUI, ROS 2, and Home Assistant. The repository has a hybrid character: the core is an application build system, but many package definitions are research-oriented (e.g., attention kernels, diffusion models, physical AI), reflecting its dual role as both a production deployment tool and an experimentation platform for edge AI.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
next-hat/nanocl ★ 995 53 APPLICATION

Nanocl is a distributed container orchestration system designed as a Kubernetes alternative, focusing on simplicity and declarative state management. The system manages workloads termed 'Cargoes' (containers), 'VMs', and 'Jobs' using Docker as the underlying runtime. It features a client-server architecture with a CLI (`nanocl`), a central daemon (`nanocld`), and auxiliary sidecar services for proxying (`ncproxy`) and DNS (`ncdns`). The architecture relies on Rust for performance and safety, utilizing `ntex` for async HTTP handling and `diesel` for database persistence. The core operational model is driven by declarative Statefiles (YAML/TOML/JSON) processed with Liquid templating. These files define the desired infrastructure state, which the daemon reconciles against the actual runtime state. The system integrates directly with the Docker daemon via the `bollard` library to manage container lifecycles, networking, and images. It features a robust event-driven architecture where state changes trigger sidecar updates, such as Nginx configuration regeneration for routing. The codebase demonstrates a modular design with shared crates for error handling, stubs, and utilities. It implements a generic repository pattern for database access and abstract lifecycle traits for resource management. The API is versioned and documented via OpenAPI/Swagger, supporting RESTful CRUD operations and real-time event streaming. While the project shows strong architectural patterns, it carries medium technical drift due to API versioning fragmentation and heavy dependency on Docker API behavior.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
lxc/terraform-provider-incus ★ 215 51 APPLICATION

This repository implements a Terraform provider for managing Incus, a container and virtual machine orchestration platform. It provides full CRUD operations for Incus resources such as instances, networks, storage pools, profiles, projects, certificates, cluster groups, and server configuration, along with corresponding data sources for reading existing state. The provider is built using the Terraform Plugin Framework (v1.19.0) with some fallback to Plugin SDK v2, and communicates with Incus via its client library (github.com/lxc/incus/v7). Key entry points include the main.go provider server, internal/provider/provider.go for resource registration, and individual resource files under internal/{certificate,cluster,image,instance,network,profile,project,server,storage}. The provider supports multiple remotes, OIDC authentication, clustering, and PKI, and includes a code generation tool (cmd/generate-datasources) that produces consistent data source implementations and documentation from a YAML configuration and Go templates. Acceptance tests require a live Incus environment and cover complex scenarios like instance lifecycle, exec triggers, file uploads, and import. The codebase is well-structured with shared utilities in internal/common for config/device/file/import handling, and demonstrates a consistent pattern for state synchronization and error handling. However, it carries some technical debt from its fork of the LXD provider, including dual SDK usage and heavy boilerplate that could benefit from further abstraction.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 5 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
ctk-hq/ctk ★ 300 26 APPLICATION

Container Tool Kit (CTK) is a web application that provides a visual editor for Docker Compose and Kubernetes manifest files. Users can create and manage projects by dragging and dropping services, volumes, and networks onto a canvas, editing node configurations through detailed forms, and viewing the resulting YAML/JSON in a synchronized code editor. The backend is built with FastAPI and PostgreSQL, handling project persistence, user authentication (JWT-based), manifest generation (including calling kompose for Kubernetes), and project import from remote YAML URLs. The frontend is a React/TypeScript single-page application using jsPlumb for the interactive canvas, Formik for form management, and Monaco Editor for code editing. The application supports both anonymous and authenticated usage, with features like autosave, visibility toggles, and pagination for project lists.

RATING: 7.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
$ loading more...
$ submit: