Added support for private apis
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user