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:
Pavel Basov
2025-12-15 19:59:58 +01:00
commit df9937f0c3
39 changed files with 1961 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
# Virtual Switch Lab Configuration
# Adjust these values based on your available RAM
# Base images
cumulus_image: "/var/lib/libvirt/images/cumulus-linux-5.11.1-vx-amd64-qemu.qcow2"
cumulus_image_url: "https://networkingdownloads.nvidia.com/custhelp/Non_Monetized_Products/Software/CumulusSoftware/CumulusVX/cumulus-linux-5.11.1-vx-amd64-qemu.qcow2"
ubuntu_image: "/var/lib/libvirt/images/ubuntu-24.04-server-cloudimg-amd64.img"
vm_disk_path: "/var/lib/libvirt/images"
# VM Resources
switch_vcpus: 2
switch_memory_mb: 2048
server_vcpus: 1
server_memory_mb: 1024
# Management network - SSH access to VMs via port forwarding
mgmt_ssh_base_port: 2200 # leaf-0 = 2200, leaf-1 = 2201, etc.
# UDP tunnel base port for inter-switch links
udp_base_port: 10000
# Topology Definition
# Simple leaf-spine topology for testing
topology:
spines:
- name: spine-0
mgmt_mac: "52:54:00:sp:00:00"
leaves:
- name: leaf-0
mgmt_mac: "52:54:00:le:00:00"
- name: leaf-1
mgmt_mac: "52:54:00:le:01:00"
- name: leaf-2
mgmt_mac: "52:54:00:le:02:00"
# Links format: [local_switch, local_port, remote_switch, remote_port]
# Each link will get a unique UDP port pair
links:
- { local: "spine-0", local_port: "swp1", remote: "leaf-0", remote_port: "swp31" }
- { local: "spine-0", local_port: "swp2", remote: "leaf-1", remote_port: "swp31" }
- { local: "spine-0", local_port: "swp3", remote: "leaf-2", remote_port: "swp31" }
# Add more links as needed, e.g., dual uplinks:
# - { local: "spine-0", local_port: "swp4", remote: "leaf-0", remote_port: "swp32" }
# Optional: Simulated servers connected to leaves
servers:
- name: server-0
connected_to: leaf-0
switch_port: swp1
- name: server-1
connected_to: leaf-1
switch_port: swp1
- name: server-2
connected_to: leaf-2
switch_port: swp1
# Cumulus default credentials
cumulus_user: cumulus
cumulus_default_password: cumulus
cumulus_new_password: "CumulusLinux!"