variable "flaresolverr" { type = object({ app_name = optional(string, "flarsolverr") image = string version = optional(string, "latest") port = optional(number, 8191) }) } resource "kubernetes_service_v1" "flarsolverr" { metadata { name = var.flaresolverr.app_name namespace = kubernetes_namespace_v1.media.metadata[0].name } spec { selector = { app = "${var.flaresolverr.app_name}" } port { port = var.flaresolverr.port target_port = var.flaresolverr.port } } } resource "kubernetes_deployment_v1" "flarsolverr" { metadata { name = var.flaresolverr.app_name namespace = kubernetes_namespace_v1.media.metadata[0].name labels = { app = "${var.flaresolverr.app_name}" } } spec { replicas = 1 selector { match_labels = { app = "${var.flaresolverr.app_name}" } } template { metadata { labels = { "app" = "${var.flaresolverr.app_name}" } } spec { container { name = var.flaresolverr.app_name image = "${var.flaresolverr.image}:${var.flaresolverr.version}" image_pull_policy = "Always" port { container_port = var.flaresolverr.port } } } } } }