A lightweight Kubernetes alternative for small teams, written in Go.
Dure aims to make it simple to deploy and manage containerized applications across a small cluster of Linux servers, without requiring teams to operate Kubernetes. Its intended scope includes declarative deployments, failure recovery, manual cloud node scaling, and a documented migration path to Kubernetes.
Dure is in the design stage. There is no working implementation yet. The capabilities below describe the intended direction, not currently available features.
- A Go CLI, control plane, and node agent.
- Declarative deployment and reconciliation for stateless containerized services.
- Health-aware rollouts, node draining, and failure recovery with explicit operational guarantees.
- Support for existing Linux servers and provisioning worker nodes on AWS and Azure.
- Manual node pool scaling, including safe workload relocation before VM removal.
- Kubernetes manifest export for supported workloads, with explicit warnings or errors for incompatible settings.
- Keep the operational model small and understandable for teams without dedicated infrastructure staff.
- Reuse established container runtimes and reverse proxies rather than rebuilding them.
- Explain deployment and scheduling decisions, including why an application cannot be placed or a node cannot be removed.
- Make failure behavior and recovery limits explicit.
- Measure total platform overhead under comparable functionality and availability guarantees.
- Favor portable application definitions without claiming full Kubernetes API compatibility.
The initial direction does not include distributed storage, automatic load-based node scaling, full cloud network provisioning, or a single cluster spanning multiple cloud providers. Databases and durable application storage are expected to be managed separately.
Cloud node provisioning will target existing networks. Dure should delete only resources it owns. Migrating an application to Kubernetes does not imply converting existing VMs into Kubernetes nodes or automatically moving persistent data.
Repository documentation, command examples, and contributor-facing material are written in English.
Dure takes its name from the Korean word 두레, a tradition of cooperative work: independent nodes working together as one cluster.
Dure is licensed under the MIT License.