vm-userdata
ilpozzd/vm-userdata/talos
This module is used to describe the configuration of Talos OS v1.0.x with Terraform variables and convert them to a Base64 encoded string that can be used for bootstarap Kubernetes nodes on any Virtualization platform that supports VM initialization via user-data.
Talos OS VM Userdata Terraform Module Page in Terraform Registry This module is used to describe the configuration of Talos OS v1.0.x with Terraform variables and convert them to a Base64 encoded string that can be used for bootstarap Kubernetes nodes on any Virtualization platform that supports VM initialization via user-data. If you find any inconsistencies in the official configuration or incorrect logic of optional values, please open an issue. Usage See examples. Examples * Talos vSphere VM Module Requirements | Name | Version | |---|---| | terraform | >= 1.1.9, machine_type | The role of the virtual machine in the Kubernetes cluster (controlplane or worker). | string | - | Yes | | machine_cert_sans | A list of alternative names of the virtual machine. | list(string) | [] | No | | mac
| Name | Type | Description | Default |
|---|---|---|---|
| machine_secrets | object({ token = string | Secret data that is used to create trust relationships between virtual machines. | required |
| machine_base_configuration | object({ install = object( | Basic configuration of the virtual machine. See https://www.talos.dev/v1.0/refer | required |
| cluster_name | string | The name of the cluster. See https://www.talos.dev/v1.0/reference/configuration/ | required |
| machine_type | string | The role of the virtual machine in the Kubernetes cluster (controlplane or worke | required |
| cluster_secrets | object({ id = string | Secret data that is used to establish trust relationships between Kubernetes clu | required |
| cluster_control_plane | object({ endpoint | Data to define the API endpoint address for joining a node to the Kubernetes clu | required |
| machine_network | object({ nameservers = opt | General network configuration of the virtual machine. 'hostname' and 'interfaces | {} |
| machine_extra_configuration | object({ controlPlane = op | Extended configuration of the virtual machine. See https://www.talos.dev/v1.0/re | {} |
| machine_cert_sans | list(string) | A list of alternative names of the virtual machine. See https://www.talos.dev/v1 | [] |
| machine_network_interfaces | list(object({ interface = | A list of network interfaces of the virtual machines (if not set DHCP will be us | [] |
| cluster_extra_manifest_headers | map(string) | A map of key value pairs that will be added while fetching the 'cluster_extra_ma | {} |
| talos_base_configuration | object({ version = string | Talos OS top-level configuration. See https://www.talos.dev/v1.0/reference/confi | {
"persist": false,
"version": "v1al |
| control_plane_cluster_secrets | object({ aescbcEncryptionS | Secret data required to establish trust relationships between components used by | {} |
| cluster_extra_manifests | list(string) | A list of URLs that point to additional manifests. These will get automatically | [] |
| machine_network_hostname | string | A network hostname of the virtual machine (if not set will be generated automati | "" |
| cluster_discovery | object({ enabled = bool | Data that sets up the discovery of nodes in the Kubernetes cluster. See https:// | {
"enabled": true
} |
| control_plane_cluster_configuration | object({ network = optiona | Data that configure the components of the 'controlplane' nodes in the Kubernetes | {} |
| cluster_inline_manifests | list(object({ name = s | A list of Kuberenetes manifests whose content is represented as a string. These | [] |
configuration — Base64 encoded Talos configuration