This repository holds infrastructure definition and configuration for the fabinfra.net domain.
All resources in this repository are managed by Terraform. Workloads are deployed as containers on a Kubernetes cluster using Helm.
The main infrastructure components are:
- DNS records (
dns.tf
) - Infrastructure management (
infra.tf
) - Kubernetes configuration (
k8s.tf
) - Cloud storage buckets (
storage.tf
) - Uptime checks (
uptime.tf
) - VPN servers (
vpn.tf
)
The main underlying provider is currently OVH. Some resources are hosted or backed up on Google Cloud Platform (GCP).
For development and deployment, download and install Terraform CLI version 1.0 or higher.
Create a terraform.tfvars
file to customize sensitive variables marked as "toComplete"
in terrafom.auto.tfvars
. See variables.tf
for more information.
When done, you may execute the following commands in this repository:
# Download plugins and current state
terraform init
# Preview infrastructure changes
terraform plan
# Apply infrastructure changes
terraform apply
The Terraform state is stored in a Terraform Cloud workspace.