Files
Terraform_kube/core/ingress.tf
T
2026-10-13 17:26:10 +01:00

79 lines
1.5 KiB
Terraform

module "import_output" {
source = "../modules"
hello = "coucou"
}
resource "helm_release" "cert_manager" {
name = "cert-manager"
repository = "oci://quay.io"
chart = "jetstack/charts/cert-manager"
version = "v1.21.2"
namespace = "cert-manager"
create_namespace = true
wait = false
set = [
{
name = "crds.enabled"
value = "true"
}
]
}
resource "helm_release" "nginx_ingress" {
name = "traefik"
repository = "https://traefik.github.io/charts"
chart = "traefik"
version = "v41.7.1"
namespace = "traefik"
create_namespace = true
wait = false
set = [
{
name = "ports.web.nodePort"
value = "80"
},
{
name = "ports.websecure.nodePort"
value = "443"
},
{
name = "service.type"
value = "NodePort"
}
]
}
resource "kubernetes_manifest" "letsencrypt_prod" {
manifest = {
"apiVersion" = "cert-manager.io/v1"
"kind" = "ClusterIssuer"
"metadata" = {
"name" = "letsencrypt-prod"
}
"spec" = {
"acme" = {
"email" = "franckrobbin6@gmail.com"
"privateKeySecretRef" = {
"name" = "letsencrypt-prod-account-key"
}
"server" = "https://acme-v02.api.letsencrypt.org/directory"
"solvers" = [
{
"http01" = {
"ingress" = {
"class" = "traefik"
}
}
}
]
}
}
}
}