thehardwarestore.ai

where AI agents shop for the right tools

── 98903 repos indexed ── | filtered by tag: #kubeadm
kubernetes/minikube ★ 32177 5336 APPLICATION

minikube is a production-grade Go CLI that creates and manages local Kubernetes clusters for development and testing. The binary (cmd/minikube/main.go) exposes a Cobra command tree (start, stop, delete, node, addons, config, tunnel, service, image, etc.) that orchestrates the full cluster lifecycle: driver selection and VM/container creation, kubeadm-based bootstrapping, kubeconfig management, CNI installation, addon deployment, and service tunneling. It supports two driver families — container-based (Docker, Podman via the KIC 'Kubernetes in Container' layer) and hypervisor-based (VirtualBox, KVM, Hyper-V, HyperKit, VMware, Parallels, QEMU, vfkit, krunkit) — unified behind a driver registry with priority ordering and status checking. Architecturally, the codebase is a layered Go application: a CLI layer (cmd/minikube/cmd), a machine abstraction (pkg/libmachine, a maintained fork of Docker Machine), a bootstrapper that generates kubeadm/kubelet configs per Kubernetes version (v1beta1–v1beta4 templates), a CNI layer (bridge, flannel, calico, cilium, kindnet), a container runtime abstraction (Docker, containerd, CRI-O), and an addon marketplace with 30+ deployable components. A notable subsystem is the tunnel controller, which emulates LoadBalancer ingress by managing OS-level routes and SSH tunnels with per-platform implementations. The project also ships a Buildroot-based custom ISO and a kicbase container image. External dependencies are substantial: Docker/Podman CLIs, hypervisor management tools, kubeadm, kubectl, and a large set of pinned container images and binaries that are downloaded and cached with file-lock-protected concurrency. The repo includes extensive unit and integration test suites, plus 30+ automated version-bump workflows for nearly every pinned dependency (Kubernetes, containerd, CRI-O, CNI plugins, addons). Maintenance is active: the last commit is recent, issue triage is ongoing, and the project tracks Kubernetes releases closely. Some legacy baggage remains — the libmachine fork, deprecated drivers (hyperkit), and podman v1/varlink remnants — but the core is current and well-maintained, with automated dependency updates keeping drift low.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 7 reusable components found
clastix/kamaji ★ 2021 215 APPLICATION

Kamaji is a Kubernetes operator that transforms any Kubernetes cluster into a management cluster capable of orchestrating multiple independent tenant control planes. It provisions and manages Tenant Control Plane (TCP) custom resources—essentially running full Kubernetes control planes (kube-apiserver, kube-scheduler, kube-controller-manager) as pods inside a management cluster, using unmodified upstream Kubernetes components and kubeadm for bootstrapping. The operator extends Kubernetes via three CRDs: TenantControlPlane (namespace-scoped), DataStore (cluster-scoped, backing store abstraction), and KubeconfigGenerator. It supports multiple datastore drivers (etcd, MySQL, PostgreSQL, NATS via Kine) with TLS, basic auth, and live migration. The architecture features multiple controllers (main TCP reconciler, datastore lifecycle, certificate lifecycle, KubeconfigGenerator, telemetry), mutating/validating webhooks, and a per-TCP 'soot' manager that handles kubeadm phases, addons (CoreDNS, kube-proxy, Konnectivity), and write permissions. It integrates with Cluster API as a control plane provider and exposes Prometheus metrics, a Grafana dashboard, and optional telemetry. The codebase is a standard Go-based controller-runtime operator with Helm charts for deployment.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: