Project information

Project overview

This project demonstrates the use of a root Argo CD Application to manage and orchestrate the deployment of two other Argo CD applications, myapp1 and myapp2. By employing a root application approach, it establishes a hierarchical management structure, simplifying the governance of multiple applications across different environments within a Kubernetes cluster.

AWS EKS (Elastic Kubernetes Service) clusters were set up using eksctl. The configurations cater to two distinct environments: Development and Production. Each environment is tailored to its specific requirements, with both setups utilizing a 3-node cluster to ensure high availability and resilience. These clusters are designed to facilitate the deployment of Argo CD and the applications.

The project automates the deployment of Argo CD and applications on Amazon EKS using Terraform modules. The first set of Terraform modules focuses on deploying Argo CD itself with high availability and scalability configurations. Subsequently, they handle the deployment of the Argo CD root application, enabling the management of multiple applications and environments through a single Argo CD instance.

Additionally, the project employs a customizable Helm Chart, allowing for easy adaptation of the applications with support for custom container images and replica counts. Overall, this project provides a comprehensive solution for leveraging GitOps principles for continuous delivery in Kubernetes environments.