ansible-infra/deployments/invidious/ingresses.tf

36 lines
1.1 KiB
HCL

# SPDX-License-Identifier: GPL-2.0-only
resource "kubernetes_manifest" "app_ingress_route_tcp" {
count = var.use_ingress && var.ingress_controller == "traefik" ? 1 : 0
manifest = {
apiVersion = "traefik.io/v1alpha1"
kind = "IngressRoute"
metadata = {
name = var.app_name
namespace = data.kubernetes_namespace_v1.app.metadata[0].name
annotations = var.ingress_annotations
labels = merge({
"app.kubernetes.io/component" = "server"
"app.kubernetes.io/name" = var.app_name
"app.kubernetes.io/version" = var.app_version
"app.kubernetes.io/part-of" = var.app_name
"app.kubernetes.io/managed-by" = "opentofu"
"app.kubernetes.io/instance" = var.app_name
}, var.ingress_additional_labels)
}
spec = {
entryPoints = var.traefik_entrypoints
routes = [
{
match = format("Host(`%s`)", var.ingress_host_url)
kind = "Rule"
services = [
{
name = var.app_name
port = var.service_container_port
}
]
}
]
}
}
}