Argo CD follows the GitOps pattern of using Git repositories as the source of truth for defining the desired state. Argo CD automates the deployment of the desired states in the specified target environments. However, since Argo CD currently only handles resources that are represented in Kubernetes, a custom kubernetes controller is used to create resources with CloudFormation stacks from Kubernetes control plane on AWS.
Design Diagram
To run this controller in a cluster run the following steps:
- make install
- make docker-build
- docker tag controller:latest username/cf:v1 or docker-artifactory-path:/cf:v1
- docker push /cf:v1 or docker push docker-artifactory-path:/cf:v1
- update the docker image name in makefile
- make deploy