butler

module
v0.0.0-...-caebf8a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2025 License: Apache-2.0

README

License made-with-Go Go Report Card GitHub go.mod Go version of a Go module GoDoc reference example

Butler: Kubernetes as a Service Platform

Table of Contents

Overview

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.

Key Features

  • 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.

Project Structure

├── 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

Documentation

📖 Technical Design Document (TDD) 📌 Project Roadmap 📜 Architecture Decision Records (ADRs)

Getting Started

Prerequisites
  • Kubernetes 1.24+
  • Helm 3+
  • kubectl
  • talosctl
Installation

Contributing

We welcome contributions! Please review our Contributing Guide and open issues or pull requests.

License

📄 Apache License 2.0 - See LICENSE for details.

Directories

Path Synopsis
cmd
butleradm command
butlerctl command
internal
services/bootstrap/nutanix
Package bootstrap provides services for bootstrapping Flux in Butler.
Package bootstrap provides services for bootstrapping Flux in Butler.
services/bootstrap/proxmox
Package bootstrap provides services for bootstrapping Flux in Butler.
Package bootstrap provides services for bootstrapping Flux in Butler.
tui
pkg
adapters/git
Package git defines an adapter for git commands natively within Butler.
Package git defines an adapter for git commands natively within Butler.
adapters/platforms
Package platforms defines generic interface contract and factory.
Package platforms defines generic interface contract and factory.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL