ubuntu

fvoges/ubuntu/digitalocean

Terraform Module HCL DIGITALOCEAN
Install
module "ubuntu" {
source = "fvoges/ubuntu/digitalocean"
version = "1.2.0"
}
plain text: /constructs/tfmod-fvoges-ubuntu-digitalocean/install.txt
⭐ Source on GitHub 📦 Registry page
README

terraform-digitalocean-ubuntu Module to manage Ubuntu droplets in DigitalOcean with Puppet optionally handling the OS configuration. Overview This Terraform module will: - Manage a DigitalOcean (referral link) Droplet - Add all available SSH keys in DigitalOcean account to the Droplet - Assign the following tags to the Droplet - all - Specified list of tags - Manage A and AAAA DNS records for the Droplets using DigitalOcean's DNS - Include the droplet in the specified DigitalOcean project (default project name: Default) - Optional: - Manage the DigitalOcean Project (default: true) - Install Puppet Agent from a Puppet Enterprise server, and: - Pass data to the Agent to configure the following Trusted Facts - pp_application (required) - pp_role (default: server) - pp_environment (default: pr

Inputs (24)
NameTypeDescriptionDefault
hostnamestringServer short hostname (without domain name) required
domainstringDomaing name. Must be managed using DigitalOcean DNS required
vpc_idstringVPC ID to use for the droplet private networknull
manage_projectboolManage the DigitalOcean projectfalse
regionstringDigitalOcean region (also used for Puppet's pp_datacenter trusted fact)"lon1"
sizestringDigitalOcean Droplet size"s-1vcpu-1gb"
enable_backupsboolEnable backups for the droplettrue
enable_monitoringboolEnable monitoring for the droplettrue
puppet_install_agentboolInstall Puppet Agent (you need to set all the other Puppet related input variablfalse
puppet_autosign_tokenstringPuppet SSL cert autosign tokennull
puppet_applicationstringPuppet Application (pp_application trusted fact)null
project_namestringDigitalOcean project name"Default"
tagslist(string)List of existing DigitalOcean tags (he module will not create them)[]
puppet_rolestringPuppet Role (pp_role trusted fact)"server"
tailscale_install_clientboolInstall Tailscale VPN Client (you need to set at least the tailscale_auth_key infalse
tailscale_sshboolEnable Tailscale VPN SSHfalse
tailscale_exit_nodeboolPublish this Tailscale node as an exit nodefalse
imagestringDigitalOcean Droplet image (do not change unless you know what you're doing)"ubuntu-24-04-x64"
enable_ipv6boolEnable ipv6 for the droplettrue
ssh_keyslist(string)List of SSH keys allowed to login (**WARNING**: if empty, it will add all your c[]
puppet_serverstringPuppet server FQDNnull
tailscale_auth_keystringTailscale VPN authentication key used to register the nodenull
Outputs (3)
fqdn
ipv4
ipv6
Resources (4)
digitalocean_dropletdigitalocean_projectdigitalocean_project_resourcesdigitalocean_record
Details
FrameworkTerraform Module
LanguageHCL
Version1.2.0
Cloud DIGITALOCEAN
★ Stars1
Forks3
Total downloads918
Inputs24
Outputs3
Resources4
Examples2
LicenseAGPL-3.0
Namespacefvoges
Updated