Skip to content

Commit

Permalink
Bare metal kargo-on-kargo developer workflow (#74)
Browse files Browse the repository at this point in the history
* omni dbg

* pulling my hair out

* add talosconfig to esc

* working 3 node bare metal build/destroy/rebuild from scratch

* bare metal deployment wip

* testing bare metal state recovery

* working tenant dev cluster deploy code

* kargo-on-kargo dev

* config
  • Loading branch information
usrbinkat authored Sep 9, 2024
1 parent a7e54c5 commit f8da133
Show file tree
Hide file tree
Showing 11 changed files with 717 additions and 200 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/readme.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This Github Workflow will run on every push to the repository
# and will test and validate the Kargo codebase using Kind Kubernetes.
name: CI Testing - Konductor on Talos
name: Runme Kargo Quickstart CI

on: push

Expand Down
70 changes: 43 additions & 27 deletions docs/hack/talos-br0.vmpool.yaml
Original file line number Diff line number Diff line change
@@ -1,61 +1,77 @@
---
apiVersion: pool.kubevirt.io/v1alpha1
kind: VirtualMachinePool
metadata:
name: talos
spec:
replicas: 3
replicas: 0
selector:
matchLabels:
kubevirt.io/vmpool: talos
virtualMachineTemplate:
metadata:
creationTimestamp: null
labels:
kubevirt.io/vmpool: talos
spec:
running: true
template:
metadata:
creationTimestamp: null
labels:
kubevirt.io/vmpool: talos
spec:
architecture: amd64
networks:
- name: eth0
multus:
networkName: br0
domain:
cpu:
cores: 1
resources:
requests:
memory: 2Gi
devices:
disks:
- disk:
bus: virtio
bootOrder: 1
name: talosdisk
interfaces:
- name: eth0
bridge: {}
resources:
cpu:
cores: 2
requests:
memory: 4Gi
networks:
- name: eth0
multus:
networkName: br0
terminationGracePeriodSeconds: 0
disks:
- name: talos-root-disk
bootOrder: 1
disk:
bus: virtio
- name: talos-empty-disk
disk:
bus: virtio
volumes:
- dataVolume:
name: talosdisk
name: talosdisk
- name: talos-root-disk
dataVolume:
name: talos-root-dv
- name: talos-empty-disk
dataVolume:
name: talos-empty-dv
# - name: talos-root-disk
# containerDisk:
# image: docker.io/containercraft/talos:latest
# imagePullPolicy: Always
dataVolumeTemplates:
- metadata:
name: talosdisk
name: talos-root-dv
spec:
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 32Gi
source:
registry:
url: "docker://docker.io/containercraft/talos:1.7.6"
- metadata:
name: talos-empty-dv
spec:
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
storage: 4Gi
source:
http:
url: "https://factory.talos.dev/image/79c3d43dd90861d1ffdd379da3e5a6e7fccdb36be434d4b3749ecae8882b08a9/v1.7.6/nocloud-amd64.raw.xz"
blank: {}
42 changes: 42 additions & 0 deletions docs/hack/talos-datavolume.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:
name: talos-disk-image-1.7.6
namespace: default
spec:
source:
http:
url: "https://github.com/siderolabs/talos/releases/download/v1.7.6/nocloud-amd64.raw.xz"
#registry:
# url: "docker://docker.io/containercraft/talos:latest"
pvc:
storageClassName: "ssd"
volumeMode: Filesystem
resources:
requests:
storage: 16Gi
accessModes:
- ReadWriteOnce
---
apiVersion: cdi.kubevirt.io/v1beta1
kind: DataVolume
metadata:
name: ubuntu-dv
namespace: default
annotations:
cdi.kubevirt.io/storage.usePopulator: "true"
spec:
pvc:
storageClassName: ssd
volumeMode: Filesystem
resources:
requests:
storage: 16Gi
accessModes:
- ReadWriteOnce
source:
registry:
url: docker://docker.io/containercraft/ubuntu:22.04
# http:
# url: "https://github.com/siderolabs/talos/releases/download/v1.7.6/nocloud-amd64.raw.xz"
124 changes: 124 additions & 0 deletions docs/hack/talos.vm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
#---
#apiVersion: kubevirt.io/v1
#kind: VirtualMachine
#metadata:
# name: talos
# namespace: default
#spec:
# running: true
# template:
# spec:
# domain:
# clock:
# utc: {}
# timer:
# hpet:
# present: false
# pit:
# tickPolicy: delay
# rtc:
# tickPolicy: catchup
# cpu:
# cores: 1
# sockets: 1
# threads: 4
# dedicatedCpuPlacement: false
# machine:
# type: q35
# memory:
# guest: 8Gi
# features:
# acpi:
# enabled: true
# smm:
# enabled: true
# firmware:
# bootloader:
# efi:
# secureBoot: false
# devices:
# rng: {}
# autoattachSerialConsole: true
# autoattachGraphicsDevice: true
# networkInterfaceMultiqueue: false
# autoattachPodInterface: false
# disks:
# - name: vda
# bootOrder: 1
# disk:
# bus: virtio
# interfaces:
# - name: eth0
# model: virtio
# macAddress: 6a:7d:62:36:fc:a0
# bridge: {}
# networks:
# - name: eth0
# multus:
# networkName: br0
# volumes:
# - name: vda
# dataVolume:
# name: talos-disk-image-1.7.6
# terminationGracePeriodSeconds: 0
---
apiVersion: pool.kubevirt.io/v1alpha1
kind: VirtualMachinePool
metadata:
name: talos
spec:
replicas: 1
selector:
matchLabels:
kubevirt.io/vmpool: talos
virtualMachineTemplate:
metadata:
creationTimestamp: null
labels:
kubevirt.io/vmpool: talos
spec:
running: true
template:
metadata:
creationTimestamp: null
labels:
kubevirt.io/vmpool: talos
spec:
architecture: amd64
domain:
cpu:
cores: 2
devices:
disks:
- disk:
bus: virtio
bootOrder: 1
name: talosdisk
interfaces:
- name: eth0
bridge: {}
resources:
requests:
memory: 4Gi
networks:
- name: eth0
multus:
networkName: br0
terminationGracePeriodSeconds: 0
volumes:
- name: talosdisk
dataVolume:
name: talosrootdisk
dataVolumeTemplates:
- metadata:
name: talosrootdisk
spec:
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
source:
registry:
url: "ghcr.io/containercraft/talos:latest"
Loading

0 comments on commit f8da133

Please sign in to comment.