Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# How to Deploy Talos Cluster in Public Cloud Platforms

In his guide, we will learn how to deploy Talos resources by using Terraform with cloud platforms.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's easier to just link to contrib repository since it has much more examples with different providers, and probbaly update README there if anything's missing

Copy link
Author

@Killpit Killpit Feb 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The thing is, the docs lack Terraform and there are nothing covering it to begin with, and it took weeks to literally figure it out @frezbo

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeh agree, but don;t think it makes sense to put TF commands in talos code, this can link to examples in contrib

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@frezbo Is there a way I can add the docs so that it's easier to understand and accessible for developers while having docs for Terraform too


You can look at [terraform module docs](https://registry.terraform.io/providers/siderolabs/talos/latest/docs) which provide explanations on guides, resources and data sources as the latest version.

### How to Deploy Talos Cluster in AWS

#### Prerequisites

- AWS Account
- AWS CLI
- Getting keys from AWS IAM and configuring it locally
- Terraform
- kubectl
- talosctl
- SSH key to connect to EC2 instances in talos (if necessary, use secrets manager to secure your secrets)

#### Setting up the environment

- Clone the [Sidero Labs' contribution repo](https://github.com/siderolabs/contrib) to your GitHub Account and then clone the repo on your computer.
- Then, write ```cd contrib``` to go to the directory
- Open up your code editor
- Go to aws file by writing ```cd examples/terraform/aws```
- In your terminal, write ```terraform init``` to initialize the Terraform file
- Then write ```terraform apply``` to deploy the resources, you may need to customize the command
- After your resources were created in terraform, write ```kubectl apply -f manifests/ccm.yaml``` to deploy the manifest file

### How to Deploy Talos Cluster in Azure

#### Prerequisites

- Azure Account
- Azure CLI
- Terraform
- kubectl
- talosctl

#### Setting up the environment

- Clone the [Sidero Labs' contribution repo](https://github.com/siderolabs/contrib) to your GitHub Account and then clone the repo on your computer.
- Then, write ```cd contrib``` to go to the directory
- Open up your code editor
- Go to aws file by writing ```cd examples/terraform/azure```
- In your terminal, write ```terraform init``` to initialize the Terraform file
- Then write ```terraform apply``` to deploy the resources, you may need to customize the command

### How to Deploy Talos Cluster in GCP

#### Prerequisites

- GCP Account
- gcloud CLI
- Terraform
- kubectl
- talosctl

#### Setting up the environment

- Clone the [Sidero Labs' contribution repo](https://github.com/siderolabs/contrib) to your GitHub Account and then clone the repo on your computer.
- Then, write ```cd contrib``` to go to the directory
- Open up your code editor
- Go to aws file by writing ```cd examples/terraform/gcp```
- In your terminal, write ```terraform init``` to initialize the Terraform file
- Then write ```terraform apply``` to deploy the resources, you may need to customize the command

In addition to the steps in GCP, in Terraform, you need to define your project and your GCP account, and it is recommended to use secrets management tools