theshire/kubernetes/bootstrap/readme.md

1.2 KiB

Bootstrap

Prerequisites

brew install helmfile
helm plugin install https://github.com/databus23/helm-diff

Talos

Bootstrap talos cluster

omnictl cluster template sync -f ./omni-homelab-export.yaml --omniconfig ./omniconfig.yaml

CNI & Container Proxy

Install Cilium & Spegel

helmfile apply -f kubernetes/bootstrap/talos/apps/helmfile.yaml

Flux Prep

Install Flux

kubectl apply --server-side --kustomize ./kubernetes/bootstrap/flux

Apply secrets, settings, and crds.

These cannot be applied with kubectl in the regular fashion due to be encrypted with sops

sops --decrypt kubernetes/bootstrap/flux/age-key.sops.yaml | kubectl apply -f -
sops --decrypt kubernetes/bootstrap/flux/git-deploy-key.sops.yaml | kubectl apply -f -
sops --decrypt kubernetes/flux/vars/cluster-secrets.sops.yaml | kubectl apply -f -
kubectl apply -f kubernetes/flux/vars/cluster-settings.yaml

Bootsrap Kube Prometheus Stack CRDs.

kubectl apply -k kubernetes/bootstrap/kps-crds/

Reset ZFS Pool

# TBD

Kick off Flux applying this repository

kubectl apply --server-side --kustomize ./kubernetes/flux/config