88 lines
1.9 KiB
Terraform
Raw Normal View History

2025-11-24 15:21:01 +01:00
resource "kubernetes_namespace" "ingress_nginx" {
metadata {
name = "ns-ingress"
}
}
resource "kubernetes_namespace" "ns_nginx" {
metadata {
name = "ns-nginx"
}
}
resource "helm_release" "ingress_nginx" {
depends_on = [
kubernetes_namespace.ingress_nginx
]
name = "ingress-nginx"
# Error: could not download chart: GET "https://ghcr.io/v2/nginx/charts/nginx-ingress/tags/list": GET "https://ghcr.io/token?scope=repository%3Anginx%2Fcharts%2Fnginx-ingress%3Apull&service=ghcr.io": unexpected status code 403: denied: denied
# repository = "oci://ghcr.io/nginx/charts"
repository = "oci://registry-1.docker.io/nginxcharts"
chart = "nginx-ingress"
# version = "2.3.1"
#does not work version = "latest" # optional; pin a specific version if desired
namespace = kubernetes_namespace.ingress_nginx.metadata[0].name
#off-00 create_namespace = true
# Load values from external file
values = [
file("${path.root}/helm-nginx-values.yml")
]
}
# MAIN
###
# install simple-nginx
module "simple-nginx" {
depends_on = [
helm_release.ingress_nginx
]
source = "../modules/simple-nginx"
providers = {
kubectl = kubectl
}
sn_namespace_name = kubernetes_namespace.ns_nginx.metadata[0].name
}
resource "kubernetes_ingress_v1" "my_simple_nginx_ingress" {
metadata {
name = "my-simple-nginx-ingress"
namespace = kubernetes_namespace.ns_nginx.metadata[0].name
annotations = {
"nginx.ingress.kubernetes.io/rewrite-target" = "/"
}
}
spec {
ingress_class_name = "nginx"
rule {
host = "regula-test.webid-solutions.de"
http {
path {
path = "/"
path_type = "Prefix"
backend {
service {
name = "nginx-service"
port {
number = 80
}
}
}
}
}
}
}
}