43 lines
1.3 KiB
HCL
43 lines
1.3 KiB
HCL
# 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]
|
|
}
|