NOTE: The code in this repository is currently non-functional due to an issue with all released versions of the Pulumi provider for Talos Linux.
This repository contains a Pulumi program, written in Golang, to automate the process of standing up a Talos Linux cluster on AWS.
Before using the contents of this repository, you will need to ensure:
- You have the Pulumi CLI installed (see here for more information on installing Pulumi).
- You have a working AWS CLI installation.
- You have a working installation of Golang.
- You have manually installed the Pulumi provider for Talos. As of this writing, the Pulumi provider for Talos was still prerelease and needs to be installed manually; see instructions here.
-
Clone this repository into a directory on your local computer.
-
Change into the directory where you cloned this repository.
-
Run
pulumi stack init
to create a new Pulumi stack. -
Use
pulumi config set aws:region <region>
to set the desired AWS region in which to create the cluster. -
Use
pulumi config set
to set the correct AMI ID for a Talos Linux instance in the desired AWS region. Information on determining the correct AMI ID can be found here in the Talos Linux documentation. -
Run
pulumi up
to run the Pulumi program.
After the Pulumi program finishes running, you can obtain a configuration file for talosctl
using this command:
pulumi stack output talosctlCfg --show-secrets > talosconfig
You can then run this command to watch the cluster bootstrap:
talosctl --talosconfig talosconfig health
Once the cluster has finished boostrapping, you can retrieve the Kubeconfig necessary to access the cluster with this command:
talosctl --talosconfig talosconfig kubeconfig
You can then use kubectl
to access the cluster as normal, referencing the recently-retrieved Kubeconfig as necessary.