From 013671191c35bf929cd2f84fac604526a67ae1eb Mon Sep 17 00:00:00 2001 From: Junwei Zhao Date: Fri, 8 Aug 2025 20:14:40 +1000 Subject: [PATCH] Revert "Use traefik as the ingress" This reverts commit 70cceee81c237abacd576c6d980d0e8088ddc886. --- terraform/argocd.tf | 57 ++++++++++++++++++++++++++++++++++++++------- terraform/main.tf | 2 +- 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/terraform/argocd.tf b/terraform/argocd.tf index ff0af6e..a7a2754 100644 --- a/terraform/argocd.tf +++ b/terraform/argocd.tf @@ -29,6 +29,51 @@ resource "helm_release" "cert_manager" { } } +# Install nginx-ingress +resource "helm_release" "ingress_nginx" { + name = "ingress-nginx" + repository = "https://kubernetes.github.io/ingress-nginx" + chart = "ingress-nginx" + version = "4.10.5" + namespace = "ingress-nginx" + create_namespace = true + + set { + name = "controller.service.type" + value = "NodePort" + } + + set { + name = "controller.service.nodePorts.http" + value = "80" + } + + set { + name = "controller.service.nodePorts.https" + value = "443" + } + + set { + name = "controller.ingressClassResource.default" + value = "true" + } + + set { + name = "controller.watchIngressWithoutClass" + value = "true" + } + + set { + name = "controller.hostPort.enabled" + value = "true" + } + + set { + name = "controller.service.externalTrafficPolicy" + value = "Local" + } +} + # Check for cert-manager CRDs before proceeding resource "null_resource" "wait_for_cert_manager_crds" { depends_on = [helm_release.cert_manager] @@ -94,7 +139,7 @@ resource "helm_release" "argocd" { set { name = "server.ingress.ingressClassName" - value = "traefik" + value = "nginx" } set { @@ -102,11 +147,6 @@ resource "helm_release" "argocd" { value = "letsencrypt-prod" } - set { - name = "server.ingress.annotations.kubernetes\\.io/tls-acme" - value = "true" - } - set { name = "server.ingress.tls[0].hosts[0]" value = "argo.junv.cc" @@ -114,7 +154,7 @@ resource "helm_release" "argocd" { set { name = "server.ingress.tls[0].secretName" - value = "argocd-server-traefik-tls" + value = "argocd-server-tls" } set { @@ -128,7 +168,8 @@ resource "helm_release" "argocd" { } depends_on = [ - helm_release.cert_manager + helm_release.cert_manager, + helm_release.ingress_nginx ] # Add timeout to ensure ArgoCD has enough time to install diff --git a/terraform/main.tf b/terraform/main.tf index cf279c7..2a5bf75 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -55,7 +55,7 @@ resource "ssh_resource" "k3s_install" { "echo 'Installing k3s...'", "curl -sfL https://get.k3s.io > install.sh", "chmod +x install.sh", - "INSTALL_K3S_EXEC='--tls-san ${local.ssh_host} --kube-apiserver-arg service-node-port-range=80-32767' sudo -E ./install.sh", + "INSTALL_K3S_EXEC='--tls-san ${local.ssh_host} --kube-apiserver-arg service-node-port-range=80-32767 --disable traefik' sudo -E ./install.sh", "echo 'Waiting for k3s to start (60s)...'", "sleep 60", "sudo chmod 644 /etc/rancher/k3s/k3s.yaml",