calfonso/rusternetes

kubernetes, reimplemented in Rust

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 52 minutes ago
Added to GitGenius on April 1st, 2026
Created on March 9th, 2026
Open Issues & Pull Requests: 11 (+0)
GitHub issues: Enabled
Number of forks: 58
Total Stargazers: 771 (+0)
Total Subscribers: 2 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.0 days
Mean response time: 3.5 days
90th percentile: 7.7 days
Tracked items: 30

Maintainer activity

1 person did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 11, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 4
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 34 days
Stale 30+ days: 4
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Rusternetes is a complete ground-up reimplementation of Kubernetes written in Rust. Rather than wrapping the original Go codebase or providing a partial mock, every core component—the API server, scheduler, controller manager, kubelet, and kube-proxy—is implemented from scratch in Rust while maintaining full compatibility with the actual Kubernetes API surface, wire format, and behavioral semantics. The project spans over 216,000 lines of Rust code organized across 10 crates, includes 31 reconciliation controllers, and has passed 3,100 plus tests. Most significantly, it achieves 94 percent conformance with the official Kubernetes v1.35 e2e test suite, passing 415 out of 441 conformance tests across 160 rounds of testing.

The repository includes a built-in web console with real-time cluster topology visualization, live metrics, pod log streaming, and full resource management capabilities. The console provides multiple views including an overview with health rings and deployment rollout progress, a topology view with animated node and pod maps, workload management with deployment cards, networking configuration displays, storage management interfaces, node monitoring with CPU and memory gauges, configuration management for ConfigMaps and Secrets, event filtering and histograms, and RBAC visualization. The console is embedded directly in the API server and deploys automatically without requiring separate installation.

A distinctive feature of Rusternetes is its flexible deployment architecture. It supports a full cluster deployment with etcd using separate containers per component backed by Raft consensus and leader election. Alternatively, users can swap the database layer entirely by replacing etcd with Rhino, an etcd-compatible gRPC server written in Rust that stores data in SQLite, Redis, PostgreSQL, or MySQL while maintaining the same Kubernetes API and binaries. For lightweight use cases, the project offers an all-in-one single-binary deployment mode where all five components run as concurrent tokio tasks in one process with an embedded SQLite or Redis backend, eliminating the need for external infrastructure. This mode targets edge devices, CI/CD pipelines, local development, IoT gateways, embedded systems, and air-gapped environments.

The API server is built on Axum and implements the Kubernetes REST API across 76 handler modules covering core/v1, apps/v1, batch/v1, RBAC, storage, and networking API groups.

The scheduler implements a filter and score plugin architecture supporting node and pod affinity, taints and tolerations, resource request scoring, priority classes, preemption, and topology spread constraints. The controller manager runs 31 concurrent reconciliation controllers handling Deployments, StatefulSets, DaemonSets, Jobs, CronJobs, Services, Endpoints, PersistentVolumes, Horizontal and Vertical Pod Autoscalers, NetworkPolicies, and numerous other resource types.

The kubelet integrates with container runtimes via the bollard Docker API client, supporting pod lifecycle management, pause containers, liveness and readiness probes, volume mounts including emptyDir and configMap, resource limits, init containers, lifecycle hooks, and pod exec via WebSocket. Kube-proxy provides iptables-based service routing for ClusterIP, NodePort, and LoadBalancer service types with session affinity support.

The project shares contributors with containers/buildah, cilium/cilium, and rancher/rancher repositories, indicating integration within the broader container and cloud-native ecosystem.