AtomicCD-Lightweight CD tool for K8s

AtomicCD-Lightweight CD tool for K8s

Hi there, in this blog I promote my most recent project “AtomicCD“. It is a continuous delivery tool build specifically for Kubernetes.

Why use this tool when you have a tool like ArgoCD you ask? Well I got the inspiration for this tool because of certain drawbacks of ArgoCD hence I built a tool that solves those drawbacks. ArgoCD is a wonderful and powerful tool but it provided too many features and functionality for the use cases I had in my work which made ArgoCD a quite heavy tool and you have to install operators for it which makes it even heavier. For most of the uses cases I had, I just wanted a CD tool that is lightweight and gets the job done. This was my inspiration to make a lightweight, simple yet effective CD tool for K8s hence AtomicCD.

AtomicCD is open source, lightweight and easy, no need to install operators and it runs as a deployment. Image size is 25 MB and need just 30m of CPU and 50 mb of memory to do its job. AtomicCD just needs a service account that has the required permissions which you can provide by associating service account with a cluster role. So you just need a deployment manifest with a service account and your configurations stored in a GitHub repository.

The configuration stored in GitHub has the name of image and its tag with its deployment or statefulset’s name. AtomicCD monitors this configuration. And boy oh boy I have honored these configurations by giving them a name of their own, “Target Config“ . Now don’t panic! you don’t need to “learn learn“ this configuration, as I mentioned above this project is all about simplicity, effectiveness and ease, hence Target Config is just a very simple declaration in yaml and you can easily read about it in documentation.

AtomicCD is no replacement for ArgoCD

As I mentioned above, ArgoCD is a powerful tool, it has a nice UI wherein you can see and understand your deployment landscape + ArgoCD has got a ton of useful features. So what I want to say is you must use ArgoCD when required (Where you have money and compute capacity to run it) but when you don’t need those features and not want to bloat your control plane or want to save cost and compute capacity by running a lightweight system you use AtomicCD instead. I hope this makes sense.

AtomicCD documentation
AtomicCD GitHub Repo

Thanks for reading, see you lovely folks.