Skip to content

Latest commit

 

History

History

foundation

Foundation

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.

Requirements

No requirements.

Providers

No providers.

Modules

Name Source Version
cloudflare ./modules/cloudflare n/a
cluster ./modules/cluster n/a
hetzner ./modules/hetzner n/a

Resources

No resources.

Inputs

Name Description Type Default Required
domain The domain to use string n/a yes
email 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

Outputs

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.