Skip to content

anthonygrimes/hcloud-infra

Repository files navigation

Hetzner Cloud Simple Infrastructure Setup

Infrastructure Layout

Via Terraform/OpenTufu. Triple node setup featuring a bastion node and database node, ingress via loadbalancer and machine provisioning by bastion. Some additional configuration required such as injecting automation/provisioning tools, private keys on bastion, additional DNS setup for serving traffic over loadbalancer and volume attachments (if needed) or Terraform/OpenTofu backends.

Requirements

Name Version
terraform >= 1.11.5
hcloud 1.60.1

Providers

Name Version
hcloud 1.60.1

Modules

Name Source Version
certificate ./modules/certificate n/a
firewall ./modules/firewall n/a
loadbalancer ./modules/loadbalancer n/a
network ./modules/network n/a
node ./modules/node n/a
ssh ./modules/ssh n/a
zone ./modules/zone n/a

Resources

Name Type
hcloud_zone resource
hcloud_managed_certificate resource
hcloud_network resource
hcloud_network_subnet resource
hcloud_load_balancer resource
hcloud_load_balancer_network resource
hcloud_load_balancer_target resource
hcloud_load_balancer_service resource
hcloud_firewall resource
hcloud_ssh_key resource
hcloud_placement_group resource
hcloud_server resource

Inputs

Name Description Type Default Required
hcloud_token Hetzner Cloud API token used to create infrastructure string n/a yes
managed_domain FQDN to be associated with the project string n/a yes
location Location to locate infrastructure string fsn1 no
network_ip_range IP range to limit the internal network to string 10.0.0.0/16 no
network_subnet_zone Zone assignement for the network subnet string eu-central no
network_subnet_ip_range IP range to limit the internal network subnet to string 10.0.1.0/24 no
admin_public_ssh_key Admin user public ssh key string n/a yes
automation_public_ssh_key Automation user public ssh key string n/a yes
lb_type Node type of the loadbalancer string lb11 no
machine_image Image to install on server nodes string rocky-10 no
bastion_type Node type of the bastion string cx23 no
manager_worker_count Number of manager worker instances to create number 3 no
manager_worker_type Node type of the manager workers string cx23 no
db_type Node type of the db string cx23 no

Outputs

Name Description
bastion_ipv4_address IPv4 address of the bastion node
bastion_private_ip_address Private IP address of the bastion node
manager_worker_ipv4_addresses IPv4 addresses of the manager worker nodes
manager_worker_private_ip_addresses Private IP addresses of the manager worker nodes
db_private_ip_address Private IP address of the db node

About

Simple infrastructure setup for Hetzner Cloud managed via Terraform/OpenTofu

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages