aws-ia / terraform-aws-eks-blueprints

Configure and deploy complete EKS clusters.
https://aws-ia.github.io/terraform-aws-eks-blueprints/
Apache License 2.0
2.6k stars 1.4k forks source link

Request for Argo CD Application Configuration Support in eks_blueprints_addons Module #1968

Open dhavalbkn opened 1 week ago

dhavalbkn commented 1 week ago

Description

I am currently migrating from an older module eks_shared_services_kubernetes_addons to the newer eks_blueprints_addons provided by aws-ia. Our existing setup utilizes Argo CD, including complex application configurations. However, it appears that the new eks_blueprints_addons module lacks support for defining Argo CD applications directly.

## Existing Configuration

Here is our current configuration with the older module:

```hcl
module "test_eks_shared_services_kubernetes_addons" {
  source = "github.com/aws-ia/terraform-aws-eks-blueprints//modules/kubernetes-addons?ref=v4.32.1"

  enable_argocd = true
  argocd_helm_config = {
    version          = "5.36.1"
    namespace        = "argocd"
    create_namespace = true
    values           = [templatefile("${path.module}/helm-charts/argocd-values.yaml", {})]

    set_sensitive = [
      {
        name  = "configs.secret.argocdServerAdminPassword"
        value = bcrypt(data.aws_secretsmanager_secret_version.test_argocd_admin_password.secret_string)
      }
    ]
  }
  argocd_applications = {
    applications = {
      add_on_application = false
      type               = "helm"

      path                = "applications"
      repo_url            = "git@bitbucket.org:repo/test-cluster.git"
      target_revision     = "feat/ssl"
      insecure            = false
      ssh_key_secret_name = "git-repo-repositories-private-key"
    }
  }
}

Request I would like to request the addition or guidance on how to integrate Argo CD application configuration within the eks_blueprints_addons module. This feature is critical for migrating our existing infrastructure without losing the ability to manage applications through Terraform.

Expected Feature Ideally, the new module would allow for similar configurations, making it possible to define Argo CD applications as part of the module, similar to what was possible in the older module:

argo_cd_applications = {
  # Example configuration
}

Additional Context This feature is crucial for maintaining our deployment workflows and ensuring that our Kubernetes clusters are managed with best practices using the EKS Blueprints. Any guidance or timeline on when this feature might be available would be greatly appreciated.

Thank you for considering this feature request.

dhavalbkn commented 1 week ago

@bryantbiggs

allamand commented 1 week ago

Hi @dhavalbkn we can rely on GitOps-bridge to have a link between terraform and ArgoCD. We have a dedicated workshop you can follow for this but the link is described in this part : https://catalog.us-east-1.prod.workshops.aws/workshops/d2b662ae-e9d7-4b31-b68b-64ade19d5dcc/en-US/030-base/060-addons/035-bootstrap