This module scaffolds a Kubernetes cluster. Based on a node config, it will create Hetzner Cloud servers and connect external IPs to them. Then, it will initialize the cluster using rke and install argocd, keycloak, cert-manager, ingress-nginx and metallb.
No requirements.
No providers.
Name | Source | Version |
---|---|---|
cloudflare | ./modules/cloudflare | n/a |
cluster | ./modules/cluster | n/a |
hetzner | ./modules/hetzner | n/a |
No resources.
Name | Description | Type | Default | Required |
---|---|---|---|---|
domain | The domain to use | string |
n/a | yes |
The email to use for letsencrypt | string |
n/a | yes | |
gitlab_infrastructure_project_id | The id of the infrastructure project in gitlab | string |
n/a | yes |
nodes | Node configuration | any |
n/a | yes |
secrets | Encrypted secrets | map(string) |
n/a | yes |
versions | Versions for the various components to use | map(string) |
n/a | yes |
Name | Description |
---|---|
cluster_connection | The cluster connection |
domain | n/a |
ingress_ips | List of ingress IPs. |
kube_config_yaml | The generated kube config yaml |
nodes | Hetzner Cloud VMs with their respective roles. |
ssh_key | The generated SSH key for connecting to the nodes. |