vsphere-vm

ilpozzd/vsphere-vm/talos

Terraform Module HCL TALOS

This module allows you to deploy a Talos OS-based vSphere virtual machine with a custom configuration.

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

Talos OS vSphere Virtual Machine Terraform Module Page in Terraform Registry This module allows you to deploy a Talos OS-based vSphere virtual machine with a custom configuration. The configuration of the virtual machine fully corresponds to the configuration of Talos OS v1.0.x. Usage It is strongly not recommended to use this module separately, since creating groups of virtual machines does not make a full cycle of Terraform automation (you cannot continue working with the created cluster using Terraform). To create a cluster, use ilpozzd/vsphere-cluster/talos. This module is useful in some cases when using Terragrunt. See examples. Examples Terragrunt Example Requirements | Name | Version | |---|---| | terraform | >= 1.1.9, = 6.7u3 Required Terraform Role permissions to user in vSphere D

Inputs (32)
NameTypeDescriptionDefault
cluster_control_planeobject({ endpoint Data to define the API endpoint address for joining a node to the Kubernetes clu required
machine_base_configurationobject({ install = objectBasic configuration of the virtual machine. See https://www.talos.dev/v1.0/refer required
datastoreslist(string)VMWare datastore(s) where all data for the virtual machine will be placed in. required
datacenterstringVMware datacenter name. required
machine_secretsobject({ token = string Secret data that is used to create trust relationships between virtual machines. required
hostslist(string)ESXi host(s) where the virtual machine will be created. required
resource_poolstringVMWare resource pool where the virtual machine will be created. required
remote_ovf_urlstringURL to the remote Talos OS 1.0.x ovf/ova file. required
network_interfaceslist(object({ name = striA specification list for a virtual NIC on the virtual machine. required
folderstringFolder to create the virtual machine in. required
machine_typestringThe role of the virtual machine in the Kubernetes cluster (controlplane or worke required
diskslist(object({ label A specification list for a virtual disk devices on the virtual machine. Use only required
cluster_secretsobject({ id = string Secret data that is used to establish trust relationships between Kubernetes clu required
cluster_namestringThe name of the cluster. See https://www.talos.dev/v1.0/reference/configuration/ required
machine_network_hostnameslist(string)A list of hostnames for *vm_count* virtual machines (if not set will be generate[]
cluster_extra_manifestslist(string)A list of 'URLs' that point to additional manifests. These will get automaticall[]
cluster_extra_manifest_headersmap(string)A map of key value pairs that will be added while fetching the 'cluster_extra_ma{}
num_cpusnumberThe total number of virtual processor cores to assign to the virtual machine.2
memorynumberThe amount of RAM for the virtual machine, in Mb.2048
machine_extra_configurationobject({ controlPlane = oExtended configuration of the virtual machine. See https://www.talos.dev/v1.0/re{}
machine_cert_sanslist(list(string))A list of alternative names for *vm_count* virtual machines. See https://www.tal[]
vm_countnumberNumber of virtual machines.1
talos_base_configurationobject({ version = stringTalos OS top-level configuration. See https://www.talos.dev/v1.0/reference/confi{ "persist": false, "version": "v1al
control_plane_cluster_secretsobject({ aescbcEncryptionSecret data required to establish trust relationships between components used by{}
machine_network_interfaceslist(list(object({ interfA list of network interfaces for *vm_count* virtual machines (if not set DHCP wi[]
cluster_discoveryobject({ enabled = bool Data that sets up the discovery of nodes in the Kubernetes cluster. See https://{ "enabled": true }
cluster_inline_manifestslist(object({ name = A list of Kuberenetes manifests whose content is represented as a string. These []
talos_admin_pkiobject({ crt = optional(sBase64 encoded certificate (signed by machine_secrets.ca.crt) and key (in ED2551{}
machine_networkobject({ nameservers = opGeneral network configuration of the virtual machine. 'hostname' and 'interfaces{}
control_plane_cluster_configurationobject({ network = optionData that configure the components of the 'controlplane' nodes in the Kubernetes{}
vmtoolsd_extra_manifeststringA link to talos-vmtoolsd Kubernetes manifest."https://raw.githubusercontent.com/molog
create_init_nodeboolWhether to create an initialization node. If 'true', the first virtual machine wfalse
Outputs (1)
default_ip_addresses — List of nodes IP addresses from VMTools by default.
Resources (1)
vsphere_virtual_machine
Details
FrameworkTerraform Module
LanguageHCL
Version1.1.3
Cloud TALOS
Total downloads640
Inputs32
Outputs1
Resources1
Namespaceilpozzd
Updated