Added support for private apis

This commit is contained in:
2025-06-02 01:42:17 +02:00
parent b0162abb88
commit 54f7e5536a
21 changed files with 527 additions and 244 deletions
@@ -102,10 +102,21 @@ resource "kubernetes_config_map" "nginx_default_config" {
data = local.services_config
}
resource "kubernetes_config_map" "auth_script" {
metadata {
name = "auth-script"
namespace = kubernetes_namespace.reverse_proxy.metadata[0].name
}
data = {
"auth_server.py" = local.auth_script
}
}
resource "kubernetes_ingress_v1" "reverse-proxy_ingress" {
for_each = var.services
metadata {
name = "reverse-proxy-ingress"
name = format("reverse-proxy-%s", replace(each.key, ".", "-"))
namespace = kubernetes_namespace.reverse_proxy.metadata[0].name
annotations = merge({
@@ -145,6 +156,19 @@ resource "kubernetes_ingress_v1" "reverse-proxy_ingress" {
}
}
resource "kubernetes_secret" "auth_token" {
metadata {
name = "auth-token-secret"
namespace = kubernetes_namespace.reverse_proxy.metadata[0].name
}
data = {
token = var.auth_token
}
type = "Opaque"
}
resource "kubernetes_deployment" "reverse_proxy" {
metadata {
@@ -175,9 +199,10 @@ resource "kubernetes_deployment" "reverse_proxy" {
app = "reverse-proxy"
}
annotations = {
"checksum/nginx" = local.nginx_config_checksum
"checksum/services" = local.services_config_checksum
"checksum/wireguard" = local.wireguard_config_checksum
"checksum/nginx" = local.nginx_config_checksum
"checksum/services" = local.services_config_checksum
"checksum/wireguard" = local.wireguard_config_checksum
"checksum/auth_server" = local.auth_script_checksum
}
}
spec {
@@ -242,6 +267,34 @@ resource "kubernetes_deployment" "reverse_proxy" {
}
}
container {
name = "auth-sidecar"
image = "python:3.11-slim"
command = ["python", "/app/auth_server.py"]
env {
name = "AUTH_TOKEN"
value_from {
secret_key_ref {
name = "auth-token-secret"
key = "token"
}
}
}
volume_mount {
name = "auth-script"
mount_path = "/app"
read_only = true
}
port {
container_port = 5000
name = "auth"
}
}
container {
name = "reverse-proxy"
image = "nginx:${var.tag}"
@@ -334,6 +387,13 @@ resource "kubernetes_deployment" "reverse_proxy" {
}
}
volume {
name = "auth-script"
config_map {
name = kubernetes_config_map.auth_script.metadata[0].name
}
}
volume {
name = "nginx"
config_map {