← modules/server/hetzner · Registry

modules/server/hetzner 0.1.0

Source: cf-tfr.davidguerrero.fr/modules/server/hetzner

module "server" {
  source  = "cf-tfr.davidguerrero.fr/modules/server/hetzner"
  version = "0.1.0"
}

Download: module.tar.gz


Requirements

Name Version
terraform >= 1.0
hcloud ~> 1.60
netbird 0.0.9
random 3.8.1
tailscale 0.13.7
tls 4.2.1

Providers

Name Version
hcloud ~> 1.60
netbird 0.0.9
random 3.8.1
tailscale 0.13.7
tls 4.2.1

Modules

No modules.

Resources

Name Type
hcloud_server.node resource
hcloud_server_network.node resource
hcloud_ssh_key.key resource
netbird_setup_key.server resource
random_password.cluster_token resource
tailscale_device_key.server resource
tailscale_tailnet_key.key resource
tls_private_key.ssh resource
hcloud_servers.cluster_peers data source
tailscale_device.server data source

Inputs

Name Description Type Default Required
agent_mode Run the server in k3s agent mode (requires an existing control plane). bool false no
cluster_name Cluster name to use as tag and discover peers. string n/a yes
disable_tailscale_key_expiry Disable Tailscale key expiry. Should always be true unless the server didn't come up properly and you still need to destroy resources. bool true no
dockerhub_token DockerHub credentials token. string n/a yes
dockerhub_username DockerHub credentials username. string n/a yes
firewall_ids List of firewall IDs to attach to the server. list(string) [] no
image Image identifier. string "ubuntu-24.04" no
k3s_version Version of k3s to install. string "v1.35.1" no
kubeconfig_aws_access_key_id AWS access key ID used to set the kubeconfig SSM parameter. string n/a yes
kubeconfig_aws_region AWS region used to set the kubeconfig SSM parameter. string n/a yes
kubeconfig_aws_secret_access_key AWS secret access key used to set the kubeconfig SSM parameter. string n/a yes
kubeconfig_ssm_parameter_name SSM parameter name where to set the kubeconfig. string n/a yes
location Server location. string "nbg1" no
name Name of the server. string n/a yes
placement_group_id Placement group ID. string null no
private_ip The private IP to use within the private network. string null no
server_type Server type. string "cax11" no
subnet_id The network subnet ID to create the server in. string null no
tailscale_tailnet_name Tailscale Tailnet name. string n/a yes
use_netbird Set to true to enable Netbird. Cannot be true if use_tailscale is true. bool false no
use_tailscale Set to true to enable Tailscale. Cannot be true if use_netbird is true. bool false no

Outputs

Name Description
cluster_token Secret k3s cluster token to join the cluster.
peer_host Peer host used for k3s initialization.
peers_ips Peer IPs fetched as candidates for k3s initialization.
private_ip Private IP of the server.