Skip to content

Commit b326102

Browse files
raykaoCopilot
andcommitted
feat(infra): deploy ArgoCD via Helm (argocd.tf)
argo-helm chart, notifications controller enabled (required for ArgoCD → GitHub webhook integration in Act-3). Admin password auto-generated, sensitive output. LoadBalancer service type. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 2bf4289 commit b326102

2 files changed

Lines changed: 39 additions & 1 deletion

File tree

infra/argocd.tf

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,33 @@
1-
# ArgoCD via Helm - see task dark-factory-y4c
1+
resource "random_password" "argocd_admin" {
2+
length = 16
3+
special = true
4+
}
5+
6+
resource "helm_release" "argocd" {
7+
name = "argocd"
8+
repository = "https://argoproj.github.io/argo-helm"
9+
chart = "argo-cd"
10+
version = var.argocd_chart_version
11+
namespace = kubernetes_namespace.argocd.metadata[0].name
12+
create_namespace = false
13+
wait = true
14+
timeout = 600
15+
16+
set {
17+
name = "configs.secret.argocdServerAdminPassword"
18+
value = bcrypt(random_password.argocd_admin.result)
19+
}
20+
21+
set {
22+
name = "server.service.type"
23+
value = "LoadBalancer"
24+
}
25+
26+
# Enable notifications controller for ArgoCD notifications
27+
set {
28+
name = "notifications.enabled"
29+
value = "true"
30+
}
31+
32+
depends_on = [kubernetes_namespace.argocd]
33+
}

infra/outputs.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,9 @@ output "kube_config" {
6363
value = azurerm_kubernetes_cluster.main.kube_config_raw
6464
sensitive = true
6565
}
66+
67+
output "argocd_admin_password" {
68+
description = "ArgoCD admin password — use with username 'admin'"
69+
value = random_password.argocd_admin.result
70+
sensitive = true
71+
}

0 commit comments

Comments
 (0)