Skip to main content

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

First time setup?

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

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

Waits for CNI

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