From f0d42bb520343522ef7ec1665e8e7dbb790c4d41 Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Fri, 17 Oct 2025 19:23:13 +0000 Subject: [PATCH] add networking toolbox deployment [ci skip] --- modules/kubernetes/main.tf | 5 ++ modules/kubernetes/networking-toolbox/main.tf | 79 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 modules/kubernetes/networking-toolbox/main.tf diff --git a/modules/kubernetes/main.tf b/modules/kubernetes/main.tf index 9fbc716e..7c94ec5f 100644 --- a/modules/kubernetes/main.tf +++ b/modules/kubernetes/main.tf @@ -690,3 +690,8 @@ module "navidrome" { source = "./navidrome" tls_secret_name = var.tls_secret_name } + +module "networking-toolbox" { + source = "./networking-toolbox" + tls_secret_name = var.tls_secret_name +} diff --git a/modules/kubernetes/networking-toolbox/main.tf b/modules/kubernetes/networking-toolbox/main.tf new file mode 100644 index 00000000..be9bda95 --- /dev/null +++ b/modules/kubernetes/networking-toolbox/main.tf @@ -0,0 +1,79 @@ +variable "tls_secret_name" {} + +resource "kubernetes_namespace" "networking-toolbox" { + metadata { + name = "networking-toolbox" + labels = { + "istio-injection" : "disabled" + } + } +} + +module "tls_secret" { + source = "../setup_tls_secret" + namespace = "networking-toolbox" + tls_secret_name = var.tls_secret_name +} + +resource "kubernetes_deployment" "networking-toolbox" { + metadata { + name = "networking-toolbox" + namespace = "networking-toolbox" + labels = { + app = "networking-toolbox" + } + } + spec { + replicas = 3 + selector { + match_labels = { + app = "networking-toolbox" + } + } + template { + metadata { + labels = { + app = "networking-toolbox" + } + } + spec { + container { + image = "lissy93/networking-toolbox" + name = "networking-toolbox" + port { + container_port = 3000 + } + } + } + } + } +} + +resource "kubernetes_service" "networking-toolbox" { + metadata { + name = "networking-toolbox" + namespace = "networking-toolbox" + labels = { + "app" = "networking-toolbox" + } + } + + spec { + selector = { + app = "networking-toolbox" + } + port { + name = "http" + port = "80" + target_port = "3000" + } + } +} + +module "ingress" { + source = "../ingress_factory" + namespace = "networking-toolbox" + name = "networking-toolbox" + tls_secret_name = var.tls_secret_name + protected = true +}