0

We have a GitHub repo containing all the Kubernetes cluster yaml files, When we want to update a deployment we simply edit the yaml and push to GitHub.

Unfortunately, we then have to kubectl apply -f file.yaml

How could one automate the deployment using something like ArgoCD or perhaps another CD Tool?

We hope to have a workflow trigger that automatically applies the YAML file changes to the cluster once pushed to GitHub.

The problem we face is the GitHub Repo is not unique to a specific deployment and as mentioned above, contains all the YAML files for the entire cluster.

Currently, we believe the only option would be to kubectl apply the entire GitHub repo, but this does not make sense if only one file has changed?

Birdy
  • 103
  • 1
  • 4

1 Answers1

1

I'd look into Flux. You can point Flux to the root of your repository (or a specific directory) and it will take care of deploying the manifests you have defined. It also detects change, so if you pushed a change to your repository, Flux will roll out the changes.

ArgoCD would also work. But because you mentioned the repo is not unique to a specific deployment and contains manifests for the entire cluster, Flux might work better in this case.

Best to try both or any other tool and see what works best for your workflows.