This directory contains scripts to bootstrap a Talos Omni nodis on Hetzner Cloud.
Before you can create and delete servers, you need a Hetzner Cloud Account with a Hetzner Cloud API token and SSH key configured.
- Create an account on Hetzner Cloud
- Create a new project on Hetzner Cloud (manually)
- Create a new network on Hetzner Cloud with a subnet, and call it
homelab
(manually) - Create a new API token on Hetzner Cloud with read/write access to the project (manually)
- Create an SSH Key on Hetzner Cloud (manually)
Now that Hetzner Cloud is configured, and is ready to spin up servers for you, you need to get the Talos installation media, so we can create a snapshot of it, and use it to create servers in the future.
- Download the Talos installation media for Hetzner Cloud from the Talos Omni UI (manually)
- Move the Talos installation media to the
talos/hcloud/media
folder, and ensure it is named according to thehcloud.pkr.hcl
file - Run the
create-snapshot.sh
script to create a snapshot of the Talos image.
That's it! Now you can create and delete servers!
To create a server, you need to run the create-server.sh
script. This script will create a new server with the Talos image, and will configure the server to use the homelab
network.
Warning
Before deleting a server, ensure you have drained it, and destroyed it from your cluster. You can do this manually in the Talos Omni UI.
To delete a server, you need to run the delete-server.sh
script. This script will delete the server, and all of its resources.