mirror of
https://github.com/dat515-2025/Group-8.git
synced 2026-03-22 15:12:08 +01:00
feat(infrastructure): add cloudflare, argocd
This commit is contained in:
53
tofu/main.tf
53
tofu/main.tf
@@ -9,9 +9,13 @@ terraform {
|
||||
version = "3.0.2"
|
||||
}
|
||||
kubernetes = {
|
||||
source = "hashicorp/kubernetes"
|
||||
source = "hashicorp/kubernetes"
|
||||
version = "2.38.0"
|
||||
}
|
||||
kustomization = {
|
||||
source = "kbst/kustomization"
|
||||
version = "0.9.6"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +27,9 @@ provider "kubectl" {
|
||||
config_path = "./kubeconfig"
|
||||
}
|
||||
|
||||
provider "kustomization" {
|
||||
kubeconfig_path = "./kubeconfig"
|
||||
}
|
||||
|
||||
provider "helm" {
|
||||
kubernetes = {
|
||||
@@ -30,17 +37,36 @@ provider "helm" {
|
||||
}
|
||||
}
|
||||
|
||||
module "storage" {
|
||||
source = "${path.module}/modules/storage"
|
||||
}
|
||||
|
||||
module "loadbalancer" {
|
||||
source = "${path.module}/modules/metallb"
|
||||
depends_on = [ module.storage ]
|
||||
source = "${path.module}/modules/metallb"
|
||||
depends_on = [module.storage]
|
||||
|
||||
metallb_ip_range = var.metallb_ip_range
|
||||
}
|
||||
|
||||
module "cert-manager" {
|
||||
source = "${path.module}/modules/cert-manager"
|
||||
}
|
||||
|
||||
module "cloudflare" {
|
||||
source = "${path.module}/modules/cloudflare"
|
||||
depends_on = [module.cert-manager]
|
||||
|
||||
cloudflare_api_token = var.cloudflare_api_token
|
||||
cloudflare_tunnel_name = var.cloudflare_tunnel_name
|
||||
cloudflare_email = var.cloudflare_email
|
||||
cloudflare_domain = var.cloudflare_domain
|
||||
cloudflare_account_id = var.cloudflare_account_id
|
||||
}
|
||||
|
||||
|
||||
module "database" {
|
||||
source = "${path.module}/modules/maxscale"
|
||||
depends_on = [ module.storage, module.loadbalancer ]
|
||||
depends_on = [module.storage, module.loadbalancer, module.cloudflare]
|
||||
|
||||
mariadb_password = var.mariadb_password
|
||||
mariadb_root_password = var.mariadb_root_password
|
||||
@@ -48,14 +74,19 @@ module "database" {
|
||||
mariadb_user_host = var.mariadb_user_host
|
||||
mariadb_user_password = var.mariadb_user_password
|
||||
|
||||
maxscale_ip = var.metallb_maxscale_ip
|
||||
service_ip = var.metallb_service_ip
|
||||
primary_ip = var.metallb_primary_ip
|
||||
secondary_ip = var.metallb_secondary_ip
|
||||
maxscale_ip = var.metallb_maxscale_ip
|
||||
service_ip = var.metallb_service_ip
|
||||
primary_ip = var.metallb_primary_ip
|
||||
secondary_ip = var.metallb_secondary_ip
|
||||
|
||||
phpmyadmin_enabled = var.phpmyadmin_enabled
|
||||
phpmyadmin_enabled = var.phpmyadmin_enabled
|
||||
cloudflare_domain = var.cloudflare_domain
|
||||
}
|
||||
|
||||
module "storage" {
|
||||
source = "${path.module}/modules/storage"
|
||||
module "argocd" {
|
||||
source = "${path.module}/modules/argocd"
|
||||
depends_on = [module.storage, module.loadbalancer, module.cloudflare]
|
||||
|
||||
argocd_admin_password = var.argocd_admin_password
|
||||
cloudflare_domain = var.cloudflare_domain
|
||||
}
|
||||
Reference in New Issue
Block a user