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:

homelab pull-secrets

Generate client configuration:

homelab generate-client-config
homelab talosctl -n [control-plane-node] kubeconfig

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. Bootstrap the cluster

Complete the full cluster bootstrap. This deploys all network policies, a CNI, a gitops provider and a secrets store.

homelab bootstrap