From 8e7893bdc79a5a163243eb5e06f9097ad501c009 Mon Sep 17 00:00:00 2001 From: viktorbarzin Date: Wed, 28 Dec 2022 17:23:01 +0200 Subject: [PATCH] add echo service [ci skip] --- modules/kubernetes/echo/main.tf | 105 ++++++++++++++++++++++++++++++++ modules/kubernetes/main.tf | 6 ++ 2 files changed, 111 insertions(+) create mode 100644 modules/kubernetes/echo/main.tf diff --git a/modules/kubernetes/echo/main.tf b/modules/kubernetes/echo/main.tf new file mode 100644 index 00000000..87791415 --- /dev/null +++ b/modules/kubernetes/echo/main.tf @@ -0,0 +1,105 @@ +variable "tls_secret_name" {} + +resource "kubernetes_namespace" "echo" { + metadata { + name = "echo" + } +} + +module "tls_secret" { + source = "../setup_tls_secret" + namespace = "echo" + tls_secret_name = var.tls_secret_name +} + +resource "kubernetes_deployment" "echo" { + metadata { + name = "echo" + namespace = "echo" + labels = { + run = "echo" + } + } + spec { + replicas = 1 + selector { + match_labels = { + run = "echo" + } + } + template { + metadata { + labels = { + run = "echo" + } + } + spec { + container { + image = "mendhak/http-https-echo" + name = "echo" + port { + container_port = 80 + } + port { + container_port = 443 + } + } + } + } + } +} + +resource "kubernetes_service" "echo" { + metadata { + name = "echo" + namespace = "echo" + labels = { + "run" = "echo" + } + } + + spec { + selector = { + run = "echo" + } + port { + name = "http" + port = "80" + target_port = "80" + } + } +} + +resource "kubernetes_ingress_v1" "echo" { + metadata { + name = "echo" + namespace = "echo" + + annotations = { + "kubernetes.io/ingress.class" = "nginx" + } + } + + spec { + tls { + hosts = ["echo.viktorbarzin.me"] + secret_name = var.tls_secret_name + } + rule { + host = "echo.viktorbarzin.me" + http { + path { + path = "/" + backend { + service { + name = "echo" + port { + number = 80 + } + } + } + } + } + } + } +} diff --git a/modules/kubernetes/main.tf b/modules/kubernetes/main.tf index 8390be92..7ad0d3f4 100644 --- a/modules/kubernetes/main.tf +++ b/modules/kubernetes/main.tf @@ -205,6 +205,12 @@ module "city-guesser" { depends_on = [null_resource.core_services] } +module "echo" { + source = "./echo" + tls_secret_name = var.tls_secret_name + depends_on = [null_resource.core_services] +} + module "url" { source = "./url-shortener" tls_secret_name = var.tls_secret_name