Skip to content

Latest commit

 

History

History
83 lines (66 loc) · 3.86 KB

README.md

File metadata and controls

83 lines (66 loc) · 3.86 KB

Readme

GitHub release (latest by date) GitHub GitHub last commit terraform-logo-badge vmware-logo-badge

This project uses terraform to complete the following tasks.

  • Create a random pet name for the vsphere deployment.
  • Pulls variable values and secrets from Consul and Vault.
  • Deploys a vsphere virtual machine from an Ubuntu Server 20. template.
  • Configures the new Ubuntu VM with cloud-init:
    • configures IP address and routing information
    • runs shell scripts with cloud-init from the scripts directory.

Requirements

Name Version
consul 2.15.1
random 3.3.1
vault 3.6.0
vsphere 2.1.1

Providers

Name Version
cloudinit 2.2.0
consul 2.15.1
random 3.3.1
template 2.2.0
vault 3.6.0

Modules

Name Source Version
vsphere-vm-mk4 ./modules/vsphere-vm-mk4 n/a

Resources

Name Type
random_pet.server resource
cloudinit_config.user_data data source
consul_keys.consul data source
template_file.metadata data source
vault_generic_secret.vmw data source

Inputs

Name Description Type Default Required
consul_address consul server address. string "http:<ip>:8500" no
vault_address vault server address. string "http:<ip>:8200" no
# vm_deploy_data

map(object({
    vsphere_datastore  = string
    vsphere_network    = string
    vm_num_cpus        = number
    vm_memory          = number
    vm_dhcp            = string
    vm_ipv4_address    = string
    vm_ipv4_netmask    = number
    vm_ipv4_gateway    = string
    vm_dns_server_list = list(string)
    vm_user_data       = string
  }))

Outputs

Name Description
vm_output n/a