Terraform module for Hetzner Cloud
Go to file
Jakub Sokołowski aa4d5c4f7a
versions: upgrade cloudflare from 3.26.0 to 4.26.0
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-03-14 23:28:19 +01:00
user-data wait for cloud-init before running ansible 2021-04-30 16:27:49 +08:00
README.md switch domain from statusim.net to status.im 2024-03-14 18:29:01 +01:00
main.tf add missing env and var group to instance groups 2022-07-11 17:06:19 +02:00
outputs.tf add outputs: public_ips, hostnames, hosts, ids 2021-10-19 23:40:01 +02:00
variables.tf switch domain from statusim.net to status.im 2024-03-14 18:29:01 +01:00
versions.tf versions: upgrade cloudflare from 3.26.0 to 4.26.0 2024-03-14 23:28:19 +01:00

README.md

Usage

This is a helper module used by Status internal repos like: infra-hq, infra-misc, infra-eth-cluster, or infra-swarm.

Usage

Simply import the modue using the source directive:

module "hetzner-cloud" {
  source = "github.com/status-im/infra-tf-hetzner-cloud"
}

More details.

Variables

  • Scaling
    • host_count - Number of hosts to start in this region.
    • image - OS image used to create host. (default: ubuntu-20.04)
    • type - Type of host to create. (default: cx11)
    • location - Region in which the host will be created. (default: hel1)
    • data_vol_size - Size in GiB of an extra data volume to attach to the dropplet. (default: 0)
  • General
    • name - Prefix of hostname before index. (default: node)
    • group - Name of Ansible group to add hosts to.
    • env - Environment for these hosts, affects DNS entries.
    • stage - Name of stage, like prod, dev, or staging.
  • Security
    • ssh_user - User used to log in to instance (default: root)
    • ssh_keys - Names of ssh public keys to add to created hosts.
    • open_tcp_ports - TCP port ranges to enable access from outside. Format: N-N (default: [])
    • open_udp_ports - UDP port ranges to enable access from outside. Format: N-N (default: [])
  • DNS
    • cf_zone_id - CloudFlare DNS domain zone ID. (ID for status.im)
    • domain - DNS Domain for hostnames. (default: status.im)

Adding an SSH Key

$ hcloud ssh-key create --name bob --public-key-from-file ~/.ssh/id_rsa.pub
SSH key 1234567 created