resource "kubernetes_service_account" "ollama_proxy" { count = var.ollama_proxy.enabled ? 1 : 0 metadata { name = "ollama-proxy-sa" namespace = kubernetes_namespace.openwebui.metadata[0].name } automount_service_account_token = false } resource "kubernetes_deployment" "ollama_proxy" { count = var.ollama_proxy.enabled ? 1 : 0 metadata { name = "ollama-proxy" namespace = kubernetes_namespace.openwebui.metadata[0].name labels = { app = "ollama-proxy" } } spec { replicas = 1 selector { match_labels = { app = "ollama-proxy" } } strategy { type = "Recreate" } template { metadata { labels = { app = "ollama-proxy" } } spec { service_account_name = kubernetes_service_account.openwebui.metadata[0].name automount_service_account_token = false host_network = true container { name = "app" image = "a13labs/wol_proxy:v0.4.0" image_pull_policy = "Always" security_context { capabilities { add = ["NET_RAW"] } } port { name = "http" container_port = var.ollama_proxy.port } env { name = "UPSTREAM_MAC" value = var.ollama_proxy.mac } env { name = "UPSTREAM_IP" value = var.ollama_proxy.ip } env { name = "UPSTREAM_PORT" value = var.ollama_proxy.port } env { name = "UPSTREAM_SCHEME" value = var.ollama_proxy.scheme } env { name = "PROXY_PORT" value = var.ollama_proxy.port } readiness_probe { tcp_socket { port = 11434 } initial_delay_seconds = 5 period_seconds = 10 failure_threshold = 10 } } } } } }