Getting Started
This guide walks through the initial setup process for the cluster. Each step builds on the previous one.
1. Prepare all nodes
Prepare nodes for use with the cluster.
2. Initialize configuration and secrets
If you're starting from scratch, you'll need to make sure that the following configuration files are in place.
Then, you'll need to generate Talos secrets:
homelab talosctl gen secrets --output-file ./config/secrets-talos.yaml
Skip ahead if you already have secrets.
If secrets exist but aren't local, pull them. This requires your Bitwarden vault to be accessible — the CLI will prompt for your master password:
homelab pull-secrets
Generate Talos client configuration:
homelab generate-client-config
3. Apply system configuration
Node names depend on your local configurations and are extracted from configuration file names. A configuration file ./config/node-abc-def-1.yaml identifies a node abc-def-1.
Replace node-1 node-2 below with a space-separated list of your node names.
Apply system configuration for every node in the cluster.
for n in node-1 node-2; do
homelab apply-system-config --insecure "${n}";
done;
4. Start the cluster
This command will hang until a CNI is deployed. You can run this in a separate terminal and proceed to the next step while it completes.
To bootstrap the control plane:
homelab talosctl -n [control-plane-node] bootstrap
5. Generate kubeconfig
To generate the kubeconfig for the cluster:
homelab talosctl -n [control-plane-node] kubeconfig
5. Bootstrap the cluster
Complete the full cluster bootstrap. This deploys all network policies, a CNI, a gitops provider and a secrets store.
homelab bootstrap