Wanted to show how easy it is to automate the deployment process using Git and function

What it does

The process is aimed to provide a simple function for updating Kubernetes cluster state using helm as deployment manager.

How I built it

  • Created several Kubernetes clusters which I want to manage
  • Created a GitHub repository to hold each cluster desired state
  • Tested out several scenarios

Challenges I ran into

  • Github webhook testing
  • Some charts aren't well written so I had to support hooks for running raw kubectl or other scripts.
  • Configuration values are only available as environment variables

What's next for Nuclio GitOps

This can be extended to support additional tools other than helm. It will also be a good idea to add other sources (S3 maybe) for Deployment plans and kube config files.

Built With

Share this project: