48 lines
1.4 KiB
Terraform
48 lines
1.4 KiB
Terraform
terraform {
|
|
required_version = "> 0.8.0"
|
|
}
|
|
|
|
variable "nginx_sites" {
|
|
type = map(object({
|
|
service = string
|
|
enabled = optional(bool,true)
|
|
proxy_cache = optional(bool,false)
|
|
extra-value = optional(string,"")
|
|
http2_bool = optional(bool,false)
|
|
proxy_pass_https = optional(bool,false)
|
|
authentication_required = optional(bool,false)
|
|
}))
|
|
|
|
}
|
|
|
|
resource "local_file" "nginx"{
|
|
# for_each = var.nginx_sites
|
|
for_each = { for key, value in var.nginx_sites : key => value if value.enabled == true}
|
|
content = templatefile("nginx_config.tftpl", {
|
|
name_site = each.key
|
|
name_service = each.value.service
|
|
proxy_cache = each.value.proxy_cache
|
|
extra-value = each.value.extra-value
|
|
http2_bool = each.value.http2_bool
|
|
proxy_pass_https = each.value.proxy_pass_https
|
|
authentication_required = each.value.authentication_required
|
|
})
|
|
|
|
filename = "../conf.d/${each.key}.tryton.geeraert.eu.conf"
|
|
file_permission = "0600"
|
|
|
|
provisioner "local-exec" {
|
|
command = "kubectl exec -it deploy/reverse-proxy -n reverse-proxy -- nginx -s reload"
|
|
quiet = true
|
|
}
|
|
|
|
}
|
|
|
|
output "Nginx_status" {
|
|
value = "Nginx pod restarted"
|
|
}
|
|
provider "kubernetes" {
|
|
config_path = "~/.kube/config"
|
|
}
|
|
|