Scaffolding for nested zarf infrastructure/workloads packages
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# .gitignore
|
||||||
|
init/
|
||||||
|
build/
|
||||||
@@ -22,7 +22,7 @@ stringData:
|
|||||||
ssh_authorized_keys:
|
ssh_authorized_keys:
|
||||||
- "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAiRc7Og+cRJGFwdUzgpX9YqvVenTk54N4kqM7emEfYHdsJLMjKQyxr8hklHmsam5dzxx3itFzc6SLf/ldJJ2JZuzE5FiCqUXXv4UFwN6HF5xqn7PTLicvWZH93H4m1gOlD5Dfzi4Es34v5zRBwbMScOgekk/LweTgl35jGKDgMP5DjGTqkPf7Ndh9+iuQrz99JEr8egl3bj+jIlKjScfaQbbnu3AJIRwZwTKgw0AOkLliQdEPNLvG5/ZImxJG4oHV9/uNkfdJObLjT1plR1HbVNskV5fuRNE/vnUiWl9jAJ1RT83GOqV0sQ+Q7p214fkgqb3JPvci/s0Bb7RA85hBEQ== djpbessems"
|
- "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAiRc7Og+cRJGFwdUzgpX9YqvVenTk54N4kqM7emEfYHdsJLMjKQyxr8hklHmsam5dzxx3itFzc6SLf/ldJJ2JZuzE5FiCqUXXv4UFwN6HF5xqn7PTLicvWZH93H4m1gOlD5Dfzi4Es34v5zRBwbMScOgekk/LweTgl35jGKDgMP5DjGTqkPf7Ndh9+iuQrz99JEr8egl3bj+jIlKjScfaQbbnu3AJIRwZwTKgw0AOkLliQdEPNLvG5/ZImxJG4oHV9/uNkfdJObLjT1plR1HbVNskV5fuRNE/vnUiWl9jAJ1RT83GOqV0sQ+Q7p214fkgqb3JPvci/s0Bb7RA85hBEQ== djpbessems"
|
||||||
kubevip:
|
kubevip:
|
||||||
eip: "192.168.154.249"
|
eip: "###ZARF_VAR_KUBEVIP_ADDRESS###"
|
||||||
p2p:
|
p2p:
|
||||||
disable_dht: true
|
disable_dht: true
|
||||||
vpn:
|
vpn:
|
||||||
@@ -33,4 +33,4 @@ stringData:
|
|||||||
enable: true
|
enable: true
|
||||||
ha:
|
ha:
|
||||||
enable: true
|
enable: true
|
||||||
master_nodes: 2 # Total 3 masters (1 initial + 2 extra)
|
master_nodes: 2
|
||||||
6592
packages/infrastructure/manifests/kairos-operator-rendered.yaml
Normal file
6592
packages/infrastructure/manifests/kairos-operator-rendered.yaml
Normal file
File diff suppressed because it is too large
Load Diff
74
packages/infrastructure/zarf.yaml
Normal file
74
packages/infrastructure/zarf.yaml
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
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]?)$
|
||||||
|
|
||||||
|
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: |
|
||||||
|
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 kairos@${ZARF_VAR_KUBEVIP_ADDRESS} "sudo cat /etc/rancher/k3s/k3s.yaml" > harvester-kairos.yaml
|
||||||
|
sed -i "s/127.0.0.1/${ZARF_VAR_KUBEVIP_ADDRESS}/g" harvester-kairos.yaml
|
||||||
|
maxRetries: 10
|
||||||
|
- name: deploy-kairosoperator
|
||||||
|
required: true
|
||||||
|
files:
|
||||||
|
- source: "manifests/kairos-operator-rendered.yaml"
|
||||||
|
target: "kairos-operator.yaml"
|
||||||
|
- source: "https://charts.jetstack.io/charts/cert-manager-v1.20.1.tgz"
|
||||||
|
target: "cert-manager.tgz"
|
||||||
|
|
||||||
|
images:
|
||||||
|
- quay.io/jetstack/cert-manager-controller:v1.20.1
|
||||||
|
- quay.io/jetstack/cert-manager-webhook:v1.20.1
|
||||||
|
- quay.io/jetstack/cert-manager-cainjector:v1.20.1
|
||||||
|
- quay.io/kairos/operator:v0.0.7
|
||||||
|
|
||||||
|
actions:
|
||||||
|
onDeploy:
|
||||||
|
before:
|
||||||
|
- cmd: |
|
||||||
|
export KUBECONFIG=harvester-kairos.yaml
|
||||||
|
./zarf tools helm install cert-manager cert-manager.tgz \
|
||||||
|
--namespace cert-manager --create-namespace \
|
||||||
|
--set installCRDs=true \
|
||||||
|
--set global.imageRegistry=${ZARF_VAR_REGISTRY_HOST}:31999 \
|
||||||
|
--wait
|
||||||
|
description: "Installing Cert-Manager on NEW cluster"
|
||||||
|
|
||||||
|
after:
|
||||||
|
- cmd: |
|
||||||
|
export KUBECONFIG=harvester-kairos.yaml
|
||||||
|
sed -i "s|quay.io|${ZARF_VAR_REGISTRY_HOST}:31999/quay.io|g" kairos-operator.yaml
|
||||||
|
./zarf tools kubectl apply -f kairos-operator.yaml
|
||||||
|
description: "Deploying Kairos Operator to NEW cluster"
|
||||||
15
zarf.yaml
15
zarf.yaml
@@ -1,15 +0,0 @@
|
|||||||
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"
|
|
||||||
|
|
||||||
components:
|
|
||||||
- name: kairos-cluster
|
|
||||||
required: true
|
|
||||||
manifests:
|
|
||||||
- name: cluster-specs
|
|
||||||
files:
|
|
||||||
- manifests/cloud-config-secret.yaml
|
|
||||||
- manifests/harvester-vms.yaml
|
|
||||||
Reference in New Issue
Block a user