/ArgoCD-EKS-Bootstrapper

The argocd-eks-bootstrapper leverages the Argo CD's App of Apps pattern on AWS Elastic Kubernetes Service by using Helm and Kustomize.

MIT LicenseMIT

AWS EKS Bootstrapping using Argo CD

Introduction

The argocd-eks-bootstrapper leverages the Argo CD's App of Apps pattern on AWS Elastic Kubernetes Service by using Helm and Kustomize.

Bootstrap Directory Structure

The following is the directory structure for the bootstrap process:

.
├── bootstrap-resources # ingress/cluster issuer
├── bootstrap.yaml # parent app
├── Chart.yaml # boiler plate chart.yaml
├── README.md 
├── templates # child app templates (one file per app)
└── values.yaml # bootstrapper chart overrides: enable/disable apps

In this case, the parent app "bootstrap" is installed along with its child apps which are rendered from templates/ and bootstrap-resources/ directories. By default, By default, most of the apps are disabled. You can easily enable them by setting the flags in the values.yaml

Enabling Apps

To enable/disable apps, modify the enable flag in the values.yaml file.

# values.yaml
kyverno:
  enable: false  
logging:
  enable: false
observability:
  enable: false
  storageSize: 150Gi
  retention: 30d
trivy:
  enable: false

Bootstrapping

To bootstrap, apply the bootstrap.yaml file:

kubectl apply -f https://raw.githubusercontent.com/kloia/argocd-eks-bootstrapper/main/helm/bootstrap.yaml