dumpnet-argo/terraform/argocd.tf

38 lines
1.1 KiB
Terraform
Raw Normal View History

# Generate ArgoCD admin password
resource "random_password" "argocd_admin" {
length = 24
special = true
override_special = "!#$%&*()-_=+[]{}?"
}
# Store secrets in AWS Secrets Manager
resource "aws_secretsmanager_secret" "dumpnet" {
name = "dumpnet/cluster"
description = "Dumpnet cluster secrets"
}
resource "aws_secretsmanager_secret_version" "dumpnet" {
secret_id = aws_secretsmanager_secret.dumpnet.id
secret_string = jsonencode({
argocd_admin_password = random_password.argocd_admin.result
talosconfig = data.talos_client_configuration.this.talos_config
kubeconfig = talos_cluster_kubeconfig.this.kubeconfig_raw
})
}
# Install ArgoCD via Helm
resource "helm_release" "argocd" {
name = "argocd"
repository = "https://argoproj.github.io/argo-helm"
chart = "argo-cd"
namespace = "argocd"
create_namespace = true
set {
name = "configs.secret.argocdServerAdminPassword"
value = bcrypt(random_password.argocd_admin.result)
}
depends_on = [talos_cluster_kubeconfig.this]
}