Butler is a Kubernetes-native cloud platform designed to provision, manage, and automate Kubernetes clusters and virtualized workloads. Butler leverages modern cloud-native technologies such as Kamaji, KubeVirt, Kube-OVN, LINSTOR, Nutanix CSI, MetalLB, Traefik, and FluxCD to provide a robust, scalable infrastructure solution.
- Lightweight Control Planes with Kamaji.
- Unified Virtual Machine & Container Orchestration via KubeVirt.
- Advanced Networking using Kube-OVN & MetalLB.
- High-Availability Storage with LINSTOR & Nutanix CSI.
- Declarative, GitOps-Driven Deployment using FluxCD & Helm.
- Multi-Cluster & Multi-Tenant Support for large-scale deployments.
├── cmd/ # CLI Commands for Butler
├── internal/ # Core Logic & Adapters
│ ├── adapters/ # Integrations with Infrastructure Providers
│ ├── services/ # Business Logic for Cluster & VM Provisioning
│ ├── handlers/ # Request Handlers
├── docs/ # Documentation & ADRs
│ ├── adr/ # Architecture Decision Records
│ ├── tdd/ # Technical Design Documents
│ ├── roadmap/ # Project Roadmap
├── pkg/ # Shareble packages
└── README.md # Project Overview
📖 Technical Design Document (TDD) 📌 Project Roadmap 📜 Architecture Decision Records (ADRs)
- Kubernetes 1.24+
- Helm 3+
- kubectl
- talosctl
We welcome contributions! Please review our Contributing Guide and open issues or pull requests.
📄 Apache License 2.0 - See LICENSE for details.