find a way to add gluetun as proxy instead as a sidecar container

This commit is contained in:
2025-05-08 00:28:18 +01:00
parent b094e78620
commit 0327588463
3 changed files with 213 additions and 40 deletions
+27 -11
View File
@@ -33,7 +33,7 @@ variable "kubernetes" {
replicas = optional(number, 1)
namespace = optional(string)
connected_namespace = optional(string, "")
# namespace = optional(string,coalesce(connected_namespace,""))
# namespace = optional(string,coalesce(connected_namespace,""))
#block_namespace_creation = optional(bool, false)
service_port = optional(number)
service_type = optional(string, "ClusterIP")
@@ -54,7 +54,9 @@ variable "kubernetes" {
# requests-cpu = "200m"
# requests-memory = "200Mi"
# })
dns_nameservers = optional(string)
environment_variables = optional(map(string), { name = "value" })
security_context = optional(bool, false)
}))
}
@@ -69,7 +71,7 @@ locals {
pvc_size = pvc.pvc_size
mount_path = pvc.mount_path
storage_class_name = pvc.storage_class_name
namespace = coalesce(value.namespace,value.connected_namespace, key)
namespace = coalesce(value.namespace, value.connected_namespace, key)
}] if value.enabled == true && value.pvc != null
])
}
@@ -147,7 +149,7 @@ resource "kubernetes_persistent_volume_claim" "automatic-pvc" {
resource "kubernetes_persistent_volume_claim" "automatic-pvc-database" {
for_each = { for key, value in var.kubernetes : key => value if value.database != null && value.enabled == true }
metadata {
namespace = coalesce(each.value.namespace,each.value.connected_namespace, each.key)
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
name = "${each.key}-db-pvc"
labels = {
deployment_method = "Terraform"
@@ -167,7 +169,7 @@ resource "kubernetes_persistent_volume_claim" "automatic-pvc-database" {
resource "kubernetes_persistent_volume_claim" "automatic-pvc-redis" {
for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true }
metadata {
namespace = coalesce(each.value.namespace,each.value.connected_namespace, each.key)
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
name = "${each.key}-redis-pvc"
labels = {
deployment_method = "Terraform"
@@ -188,7 +190,7 @@ resource "kubernetes_service" "automatic_service" {
for_each = { for key, value in var.kubernetes : key => value if value.service_port != null && value.enabled == true }
metadata {
name = "${each.key}-svc"
namespace = coalesce(each.value.namespace,each.value.connected_namespace, each.key)
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
labels = {
deployment_method = "Terraform"
}
@@ -219,7 +221,7 @@ resource "kubernetes_service" "automatic_service_database" {
for_each = { for key, value in var.kubernetes : key => value if value.database != null && value.enabled == true }
metadata {
name = "${each.key}-db-svc"
namespace = coalesce(each.value.namespace,each.value.connected_namespace, each.key)
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
labels = {
deployment_method = "Terraform"
}
@@ -244,7 +246,7 @@ resource "kubernetes_service" "automatic_service_redis" {
for_each = { for key, value in var.kubernetes : key => value if value.redis != null && value.enabled == true }
metadata {
name = "${each.key}-redis-svc"
namespace = coalesce(each.value.namespace,each.value.connected_namespace, each.key)
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
labels = {
deployment_method = "Terraform"
}
@@ -265,7 +267,7 @@ resource "kubernetes_service" "automatic_service_redis" {
resource "kubernetes_deployment_v1" "automatic" {
for_each = { for key, value in var.kubernetes : key => value if value.enabled == true }
metadata {
namespace = coalesce(each.value.namespace,each.value.connected_namespace, each.key)
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
name = coalesce(each.value.name, each.key)
labels = {
@@ -384,6 +386,15 @@ resource "kubernetes_deployment_v1" "automatic" {
# }
# }
dynamic "security_context" {
for_each = each.value.security_context == true ? [1] : []
content {
privileged = true
#capabilities = {
# add : ["NET_ADMIN", "NET_RAW"]
#}
}
}
dynamic "liveness_probe" {
for_each = each.value.liveness_tcp_socket != null || each.value.liveness_http_get != null ? [""] : []
content {
@@ -394,7 +405,6 @@ resource "kubernetes_deployment_v1" "automatic" {
}
}
dynamic "http_get" {
for_each = each.value.liveness_http_get != null ? [""] : []
content {
@@ -408,7 +418,13 @@ resource "kubernetes_deployment_v1" "automatic" {
}
}
}
dynamic "dns_config" {
for_each = each.value.dns_nameservers != null ? [1] : []
content {
nameservers = [each.value.dns_nameservers]
}
}
dynamic "volume" {
for_each = each.value.pvc != null ? each.value.pvc : {}
@@ -452,7 +468,7 @@ resource "kubernetes_deployment_v1" "database-automatic" {
metadata {
namespace = coalesce(each.value.namespace,each.value.connected_namespace, each.key)
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
name = "${coalesce(each.value.namespace, each.key)}-db"
labels = {
app = each.key
@@ -577,7 +593,7 @@ resource "kubernetes_deployment_v1" "redis-automatic" {
metadata {
namespace = coalesce(each.value.namespace,each.value.connected_namespace, each.key)
namespace = coalesce(each.value.namespace, each.value.connected_namespace, each.key)
name = "${coalesce(each.value.namespace, each.key)}-redis"
labels = {
app = each.key