Initial commit: Turbo Mothership bare metal management cluster
- k0s bootstrap with Cilium and OpenEBS - ArgoCD apps for infra, CAPI, Tinkerbell, and Netris - Ansible playbooks for virtual baremetal lab and Netris switches - CAPI provider manifests for k0smotron and Tinkerbell
This commit is contained in:
62
README.md
Normal file
62
README.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Turbo Mothership
|
||||
|
||||
Bare metal Kubernetes management cluster for provisioning infrastructure via Cluster API and Tinkerbell.
|
||||
|
||||
## Deployment Flow
|
||||
|
||||
1. **Deploy k0s** with Cilium CNI and OpenEBS storage
|
||||
2. **Bootstrap** ArgoCD, cert-manager, ingress-nginx, and sealed-secrets via Helm
|
||||
3. **Pivot to ArgoCD** for GitOps-managed applications
|
||||
4. **Install Tinkerbell** for bare metal provisioning (PXE, DHCP, workflows)
|
||||
5. **Install CAPI Operator** (Cluster API lifecycle manager)
|
||||
6. **Install CAPI Providers** for infrastructure provisioning
|
||||
7. **Install Netris controller and operator** for fabric management
|
||||
8. **Spin up virtual baremetals and switches** to use as cluster resources
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
├── bootstrap/ # Helm chart for initial cluster bootstrap
|
||||
├── apps/ # ArgoCD Application manifests
|
||||
│ ├── infra/ # Infrastructure apps (cert-manager, ingress-nginx, etc.)
|
||||
│ ├── bm/ # Bare metal apps (tinkerbell)
|
||||
│ ├── capi/ # Cluster API operator and providers
|
||||
│ └── netris/ # Netris controller and operator
|
||||
├── manifests/
|
||||
│ └── capi-stack/ # CAPI provider manifests (k0smotron, tinkerbell)
|
||||
└── ansible/
|
||||
├── virtual-bm/ # Ansible playbooks for virtual baremetal lab
|
||||
└── netris-switches/ # Ansible for Netris switch VMs
|
||||
```
|
||||
|
||||
## Virtual Baremetal Lab
|
||||
|
||||
The `ansible/virtual-bm/` directory contains playbooks for setting up a virtual bare metal environment for testing:
|
||||
|
||||
- `playbook.yml` - Creates br-mgmt bridge (172.16.81.0/24) with NAT
|
||||
- `create-vms.yml` - Creates libvirt VMs with VirtualBMC for IPMI simulation
|
||||
- `destroy-vms.yml` - Tears down the virtual environment
|
||||
|
||||
### Virtual BM Summary
|
||||
|
||||
| VM | MAC Address | VBMC Port |
|
||||
|-----|-------------------|-----------|
|
||||
| vm1 | 52:54:00:12:34:01 | 6231 |
|
||||
| vm2 | 52:54:00:12:34:02 | 6232 |
|
||||
| vm3 | 52:54:00:12:34:03 | 6233 |
|
||||
|
||||
## Netris
|
||||
|
||||
Netris provides network automation for bare metal infrastructure.
|
||||
|
||||
- `apps/netris/netris-controller.yaml` - Netris Controller for network management UI
|
||||
- `apps/netris/netris-operator.yaml` - Kubernetes operator for Netris resources
|
||||
- `ansible/netris-switches/` - Playbooks to create virtual Netris switch VMs
|
||||
|
||||
### Default Credentials
|
||||
|
||||
netris-controller web UI:
|
||||
- Login: `netris`
|
||||
- Password: `newNet0ps`
|
||||
|
||||
Change these after first login.
|
||||
Reference in New Issue
Block a user