# Generate ArgoCD admin password resource "random_password" "argocd_admin" { length = 24 special = true override_special = "!#$%&*()-_=+[]{}?" } # Single secrets manager secret for all dumpnet secrets resource "aws_secretsmanager_secret" "dumpnet" { name = "dumpnet" description = "All dumpnet secrets" } resource "aws_secretsmanager_secret_version" "dumpnet" { secret_id = aws_secretsmanager_secret.dumpnet.id secret_string = jsonencode({ cluster = { argocd_admin_password = random_password.argocd_admin.result talosconfig = data.talos_client_configuration.this.talos_config kubeconfig = talos_cluster_kubeconfig.this.kubeconfig_raw } fluentbit = { aws_access_key_id = aws_iam_access_key.fluentbit.id aws_secret_access_key = aws_iam_access_key.fluentbit.secret } }) } # 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] }