k3s-ext

deyaeddin/k3s-ext/hcloud

Terraform Module HCL HCLOUD

Terraform module to install K3S on Hetzner cloud servers with battery included. Cert-Manger, External-DNS, Nginx-ingress-controller, Minio, Octant Dashboard ...etc

Install
module "k3s-ext" {
source = "deyaeddin/k3s-ext/hcloud"
version = "0.0.2"
}
plain text: /constructs/tfmod-deyaeddin-k3s-ext-hcloud/install.txt
⭐ Source on GitHub 📦 Registry page
README

Kubernetes K3S Terraform Module This module is inspired by cicdteam/terraform-hcloud-k3s with extra applications ready to be installed with `` make apply`. All Applications are using HELM charts, and highly customizable. Use Hetzner Cloud link to get €20 List of Applications: - cert-manager: 3 ways to choice for issuing certificates HTTP01, DNS01_CLOUDFLARE, [DNS01_HETZNER] - default-backend: default bitnami-nginx chart - external-dns: external-dns chart with ability to chose between "hetzner or cloudflare" - nginx-ingress-controller: default bitnami-nginx-ingress-controller chart, with annotations: - load-balancer.hetzner.cloud/name: ${lb_name} - load-balancer.hetzner.cloud/location: ${lb_location} - load-balancer.hetzner.cloud/use-private-ip: "true" - load-balancer.hetzner.cloud/disable-

Inputs (40)
NameTypeDescriptionDefault
hcloud_tokenstringHetzner cloud auth token required
default_domainstringroot domain for ingress default service required
issuer_emailstringemail for issuing certificates with LetsEncrypt required
hcloud_dns_api_tokenstringhashed Hetzner DNS access token required
hcloud_masters_extra_scriptslist(string)Additional list of commands to be added to initial master server creation required
cloud_flare_api_tokenstringCloudflare api token. Ref: https://dash.cloudflare.com/profile/api-tokens required
cloud_flare_api_keystringCloudflare api key. Ref: https://dash.cloudflare.com/profile/api-tokens required
cloud_flare_api_emailstringCloudflare primary email (login email) required
hcloud_node_extra_scriptslist(string)Additional list of commands to be added to initial node server creation required
enable_appsboolwither to enable deploying cert-manager, nginx-ingress-controller ...etcfalse
hcloud_network_subnet_typestringsubnet type"cloud"
master_groups_countnumberNumber of control plane nodes.1
hcloud_network_subnet_zonestringSubnet Zon"eu-central"
hcloud_datacenterstringHetzner datacenter where resources resides, hel1-dc2 (Helsinki 1 DC 2) or fsn1-d"hel1-dc2"
dns_providerstringDNS provider to use. Values can be hetzner or cloudflare"hetzner"
storage_classstringstorage class to use with minio drivers"hcloud-volumes"
k3s_config_filestringString path to config file"~/.kubeconfig/hetzner.config"
public_key_pathstringstring path to public key which will be used to access all the servers including"~/.ssh/id_rsa.pub"
node_groupsmap(string)Map of worker node groups, key is server_type, value is count of nodes in group.{ "cx22": 2, "cx32": 1 }
master_groups_typestringNode type (size)"cx22"
lb_hcloud_protocolstringprotocol for the loadbalancer"tcp"
private_key_pathstringstring path to private key which will be used to access all the servers includin"~/.ssh/id_rsa"
hcloud_network_ip_rangestringip_range of the main network "10.0.0.0/8"
k3s_channelstringk3s channel (stable, latest, v1.19 and so on)"latest"
default_backend_image_digeststringdefault backend image digest""
cloud_flare_api_proxiedboolwither the zone will be proxied on cloudflare false
k3s_versionstringk3s version (v1.21.0+k3s1, v1.19.10+k3s1 and so on)"v1.30.1+k3s1"
default_backend_image_repositorystringdefault backend image repository e.g. bitnami/nginx"bitnami/nginx"
default_backend_image_tagstringdefault backend image tag e.g. 1.27.0-debian-12-r1"1.27.0-debian-12-r1"
Outputs (5)
master_ipv4 — Public IP Address of the master node
master_internal_ipv4 — Private IP Address of the master node
master_nodes_ipv4 — Public IP Address of the master nodes in groups
master_nodes_internal_ipv4 — Public IP Address of the master nodes in groups
nodes_ipv4 — Public IP Address of the worker nodes in groups
Resources (1)
hcloud_ssh_key
Details
FrameworkTerraform Module
LanguageHCL
Version0.0.2
Cloud HCLOUD
★ Stars14
Forks2
Total downloads894
Inputs40
Outputs5
Resources1
Submodules9
LicenseApache-2.0
Namespacedeyaeddin
Updated