/terraform-hcloud

A simple module to provision servers in Hetzner Cloud for use with Rancher/Kubernetes

Primary LanguageHCL

terraform-hcloud

A simple and opinionated module to create servers in Hetzner Cloud and - by default - to provision the servers with Ansible first and then install Kubernetes with Rancher, but both of these are optional. See the variables file for the available configuration settings.

Example config:

cluster_name    = ...
ssh_private_key = "~/.ssh/id_rsa"
ssh_public_key  = "~/.ssh/id_rsa.pub"

install_ansible_dependencies = true
ansible_playbook_path       = ...
ansible_vault_password_path = ...

run_rancher_deploy = true

servers = {
  1 = {
    name               = "master"
    private_ip_address = "10.0.0.2"
    server_type        = "cx41"
    image              = "centos-7"
    location           = "nbg1"
    backups            = true
    roles              = "--etcd --controlplane" # to deploy Kubernetes with Rancher
  },

  2 = {
    name               = "worker"
    private_ip_address = "10.0.0.3"
    server_type        = "cx41"
    image              = "centos-7"
    location           = "nbg1"
    backups            = true
    roles              = "--worker" # to deploy Kubernetes with Rancher
  },

  ...
}