orchestration-tests/k8s-test/services/main.tf

97 lines
1.8 KiB
HCL

resource "kubernetes_manifest" "traefik_dashboard" {
manifest = {
apiVersion = "traefik.containo.us/v1alpha1"
kind = "IngressRoute"
metadata = {
name = "public-traefik-dashboard"
namespace = "default"
}
spec = {
entryPoints = ["web"]
routes = [
{
match = "PathPrefix(`/dashboard`) || PathPrefix(`/api`)"
kind = "Rule"
services = [
{
name = "api@internal"
kind = "TraefikService"
},
]
},
]
}
}
}
module "whoami" {
source = "./simple_service"
name = "whoami"
image = "containous/whoami:latest"
expose_ports = [80]
}
module "whoami-ingress" {
source = "./traefik_ingress"
app_name = "whoami"
match_route = "PathPrefix(`/whoami`)"
}
module "whoami2" {
source = "./simple_service"
name = "whoami2"
image = "containous/whoami:latest"
expose_ports = [80]
}
module "whoami2-ingress" {
source = "./traefik_ingress"
app_name = "whoami2"
match_route = "PathPrefix(`/whoami2`)"
}
module "authentik" {
source = "./authentik"
}
# locals {
# blocky_config = file("${path.module}/blocky_config.yml")
# }
#
# resource "helm_release" "blocky" {
# name = "blocky"
# repository = "https://k8s-at-home.com/charts/"
# chart = "blocky"
#
#
# set {
# name = "env.TZ"
# value = "America/Los_Angeles"
# }
#
# set {
# name = "metrics.enabled"
# value = true
# }
#
# set {
# name = "config"
# value = "${local.blocky_config}"
# }
# }
# resource "helm_release" "prom_stack" {
# name = "kube-prom-stack"
# repository = "https://prometheus-community.github.io/helm-charts"
# chart = "kube-prometheus-stack"
#
# set {
# name = "alert_manager.enabled"
# value = false
# }
# }