88 lines
1.9 KiB
Terraform
88 lines
1.9 KiB
Terraform
|
|
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
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|