2026-04-10 22:07:14 +10:00
|
|
|
kind: ZarfPackageConfig
|
|
|
|
|
metadata:
|
|
|
|
|
name: harvester-bootstrap-rancher
|
|
|
|
|
# version: 26.0.0
|
|
|
|
|
# description: |
|
|
|
|
|
# "Deploys a HA k3s cluster on top of a Harvester cluster, installs Rancher and imports the Harvester local cluster"
|
|
|
|
|
|
|
|
|
|
variables:
|
|
|
|
|
- name: KUBEVIP_ADDRESS
|
|
|
|
|
prompt: true
|
|
|
|
|
pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
|
2026-04-14 11:30:03 +10:00
|
|
|
- name: KAIROS_IMAGE_NAME
|
|
|
|
|
prompt: true
|
|
|
|
|
default: image-xbmbj
|
|
|
|
|
- name: KAIROS_IMAGE_NAMESPACE
|
|
|
|
|
prompt: true
|
|
|
|
|
default: default
|
2026-04-10 22:07:14 +10:00
|
|
|
|
|
|
|
|
components:
|
|
|
|
|
- name: provision-cluster
|
|
|
|
|
required: true
|
|
|
|
|
manifests:
|
|
|
|
|
- name: cluster-specs
|
|
|
|
|
files:
|
|
|
|
|
- manifests/cloud-config-secret.yaml
|
|
|
|
|
- manifests/harvester-vms.yaml
|
|
|
|
|
actions:
|
|
|
|
|
onRemove:
|
|
|
|
|
after:
|
|
|
|
|
- cmd: |
|
|
|
|
|
./zarf tools kubectl get pvc -n default --no-headers | \
|
|
|
|
|
awk '/^kairos-node-/ {print $1}' | \
|
|
|
|
|
xargs -I {} ./zarf tools kubectl delete pvc -n default {}
|
|
|
|
|
- name: retrieve-kubeconfig
|
|
|
|
|
required: true
|
|
|
|
|
actions:
|
|
|
|
|
onDeploy:
|
|
|
|
|
before:
|
|
|
|
|
- wait:
|
|
|
|
|
network:
|
|
|
|
|
protocol: tcp
|
|
|
|
|
address: "${ZARF_VAR_KUBEVIP_ADDRESS}:6443"
|
|
|
|
|
maxTotalSeconds: 600
|
|
|
|
|
after:
|
|
|
|
|
- cmd: |
|
2026-04-13 22:00:03 +10:00
|
|
|
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ConnectTimeout=5 kairos@${ZARF_VAR_KUBEVIP_ADDRESS} "sudo cat /etc/rancher/k3s/k3s.yaml" > harvester-kairos.yaml
|
2026-04-10 22:07:14 +10:00
|
|
|
sed -i "s/127.0.0.1/${ZARF_VAR_KUBEVIP_ADDRESS}/g" harvester-kairos.yaml
|
|
|
|
|
maxRetries: 10
|
2026-04-13 22:00:03 +10:00
|
|
|
- name: prepare-payload
|
2026-04-10 22:07:14 +10:00
|
|
|
required: true
|
|
|
|
|
files:
|
2026-04-13 22:00:03 +10:00
|
|
|
- source: "../../init/zarf-init-amd64-v0.74.2.tar.zst"
|
|
|
|
|
target: "zarf-init.tar.zst"
|
|
|
|
|
- source: "../../build/zarf-package-deploy-kairos-operator-amd64.tar.zst"
|
|
|
|
|
target: "kairos-operator.tar.zst"
|
2026-04-10 22:07:14 +10:00
|
|
|
|
2026-04-13 22:00:03 +10:00
|
|
|
- name: invoke-deployment-kairos-operator
|
|
|
|
|
required: true
|
2026-04-10 22:07:14 +10:00
|
|
|
actions:
|
|
|
|
|
onDeploy:
|
|
|
|
|
after:
|
|
|
|
|
- cmd: |
|
|
|
|
|
export KUBECONFIG=harvester-kairos.yaml
|
2026-04-13 22:00:03 +10:00
|
|
|
./zarf init zarf-init.tar.zst --confirm --log-level warn
|
|
|
|
|
./zarf package deploy kairos-operator.tar.zst --confirm --log-level warn
|