vm-userdata

ilpozzd/vm-userdata/talos

Terraform Module HCL 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.

Install
module "vm-userdata" {
source = "ilpozzd/vm-userdata/talos"
version = "1.0.1"
}
plain text: /constructs/tfmod-ilpozzd-vm-userdata-talos/install.txt
⭐ Source on GitHub 📦 Registry page
README

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

Inputs (18)
NameTypeDescriptionDefault
machine_secretsobject({ token = string Secret data that is used to create trust relationships between virtual machines. required
machine_base_configurationobject({ install = object(Basic configuration of the virtual machine. See https://www.talos.dev/v1.0/refer required
cluster_namestringThe name of the cluster. See https://www.talos.dev/v1.0/reference/configuration/ required
machine_typestringThe role of the virtual machine in the Kubernetes cluster (controlplane or worke required
cluster_secretsobject({ id = string Secret data that is used to establish trust relationships between Kubernetes clu required
cluster_control_planeobject({ endpoint Data to define the API endpoint address for joining a node to the Kubernetes clu required
machine_networkobject({ nameservers = optGeneral network configuration of the virtual machine. 'hostname' and 'interfaces{}
machine_extra_configurationobject({ controlPlane = opExtended configuration of the virtual machine. See https://www.talos.dev/v1.0/re{}
machine_cert_sanslist(string)A list of alternative names of the virtual machine. See https://www.talos.dev/v1[]
machine_network_interfaceslist(object({ interface = A list of network interfaces of the virtual machines (if not set DHCP will be us[]
cluster_extra_manifest_headersmap(string)A map of key value pairs that will be added while fetching the 'cluster_extra_ma{}
talos_base_configurationobject({ version = string Talos OS top-level configuration. See https://www.talos.dev/v1.0/reference/confi{ "persist": false, "version": "v1al
control_plane_cluster_secretsobject({ aescbcEncryptionSSecret data required to establish trust relationships between components used by{}
cluster_extra_manifestslist(string)A list of URLs that point to additional manifests. These will get automatically []
machine_network_hostnamestringA network hostname of the virtual machine (if not set will be generated automati""
cluster_discoveryobject({ enabled = bool Data that sets up the discovery of nodes in the Kubernetes cluster. See https://{ "enabled": true }
control_plane_cluster_configurationobject({ network = optionaData that configure the components of the 'controlplane' nodes in the Kubernetes{}
cluster_inline_manifestslist(object({ name = sA list of Kuberenetes manifests whose content is represented as a string. These []
Outputs (1)
configuration — Base64 encoded Talos configuration
Details
FrameworkTerraform Module
LanguageHCL
Version1.0.1
Cloud TALOS
Total downloads611
Inputs18
Outputs1
Namespaceilpozzd
Updated