ubuntu
fvoges/ubuntu/digitalocean
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
| Name | Type | Description | Default |
|---|---|---|---|
| hostname | string | Server short hostname (without domain name) | required |
| domain | string | Domaing name. Must be managed using DigitalOcean DNS | required |
| vpc_id | string | VPC ID to use for the droplet private network | null |
| manage_project | bool | Manage the DigitalOcean project | false |
| region | string | DigitalOcean region (also used for Puppet's pp_datacenter trusted fact) | "lon1" |
| size | string | DigitalOcean Droplet size | "s-1vcpu-1gb" |
| enable_backups | bool | Enable backups for the droplet | true |
| enable_monitoring | bool | Enable monitoring for the droplet | true |
| puppet_install_agent | bool | Install Puppet Agent (you need to set all the other Puppet related input variabl | false |
| puppet_autosign_token | string | Puppet SSL cert autosign token | null |
| puppet_application | string | Puppet Application (pp_application trusted fact) | null |
| project_name | string | DigitalOcean project name | "Default" |
| tags | list(string) | List of existing DigitalOcean tags (he module will not create them) | [] |
| puppet_role | string | Puppet Role (pp_role trusted fact) | "server" |
| tailscale_install_client | bool | Install Tailscale VPN Client (you need to set at least the tailscale_auth_key in | false |
| tailscale_ssh | bool | Enable Tailscale VPN SSH | false |
| tailscale_exit_node | bool | Publish this Tailscale node as an exit node | false |
| image | string | DigitalOcean Droplet image (do not change unless you know what you're doing) | "ubuntu-24-04-x64" |
| enable_ipv6 | bool | Enable ipv6 for the droplet | true |
| ssh_keys | list(string) | List of SSH keys allowed to login (**WARNING**: if empty, it will add all your c | [] |
| puppet_server | string | Puppet server FQDN | null |
| tailscale_auth_key | string | Tailscale VPN authentication key used to register the node | null |
fqdnipv4ipv6