Add Argo CD — GitOps controller for legion app deployments
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# Argo CD — GitOps controller watching will/infrastructure on Gitea
|
||||
# App manifests live in: servers/legion/apps/
|
||||
|
||||
resource "kubernetes_namespace" "argocd" {
|
||||
metadata {
|
||||
name = "argocd"
|
||||
labels = {
|
||||
managed-by = "terraform"
|
||||
tier = "infrastructure"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "helm_release" "argocd" {
|
||||
name = "argocd"
|
||||
namespace = kubernetes_namespace.argocd.metadata[0].name
|
||||
repository = "https://argoproj.github.io/argo-helm"
|
||||
chart = "argo-cd"
|
||||
version = "7.8.0"
|
||||
|
||||
values = [<<-YAML
|
||||
global:
|
||||
domain: argocd.${var.domain_suffix}
|
||||
|
||||
server:
|
||||
ingress:
|
||||
enabled: true
|
||||
ingressClassName: traefik
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
tls: true
|
||||
|
||||
configs:
|
||||
params:
|
||||
server.insecure: true # TLS terminated at Traefik
|
||||
repositories:
|
||||
gitea-infrastructure:
|
||||
url: http://10.43.1.53:3000/will/infrastructure.git
|
||||
name: infrastructure
|
||||
type: git
|
||||
YAML
|
||||
]
|
||||
|
||||
depends_on = [kubernetes_namespace.argocd, helm_release.cert_manager]
|
||||
}
|
||||
|
||||
resource "kubernetes_ingress_v1" "argocd" {
|
||||
metadata {
|
||||
name = "argocd"
|
||||
namespace = kubernetes_namespace.argocd.metadata[0].name
|
||||
annotations = {
|
||||
"traefik.ingress.kubernetes.io/router.entrypoints" = "websecure"
|
||||
"cert-manager.io/cluster-issuer" = "letsencrypt-prod"
|
||||
}
|
||||
}
|
||||
|
||||
spec {
|
||||
tls {
|
||||
hosts = ["argocd.${var.domain_suffix}"]
|
||||
secret_name = "argocd-tls"
|
||||
}
|
||||
|
||||
rule {
|
||||
host = "argocd.${var.domain_suffix}"
|
||||
http {
|
||||
path {
|
||||
path = "/"
|
||||
path_type = "Prefix"
|
||||
backend {
|
||||
service {
|
||||
name = "argocd-server"
|
||||
port {
|
||||
number = 80
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
depends_on = [helm_release.argocd, helm_release.cert_manager]
|
||||
}
|
||||
Reference in New Issue
Block a user