Streamline Your Kubernetes Rollback Process with Aionic: A Lightweight Historical Visualization Tool for ArgoCD

Aionic
4 min readMar 2, 2023

--

An open source, lightweight, Kubernetes cluster configuration timeline/debugger

Introduction

Microservice architecture and container orchestration systems like Kubernetes have changed the landscape of building and deploying apps, making it easier to create and manage complex architectures. Even so, managing your large scale Kubernetes deployed app architecture is difficult, and even more so when trying to implement it into your CI/CD pipeline. ArgoCD is an industry leading standard for the CD pipeline for Kubernetes orchestrated apps, but lacks a historical visualization and easy way to roll back to specific configurations. That is where Aionic comes in.

What is ArgoCD?

ArgoCD is an open-source GitOps continuous delivery tool developed by the team at Intuit. It automates an application deployment by monitoring a cluster and declaratively-defining infrastructure stored in a Git repository, resolving differences between the two. ArgoCD continuously monitors running infrastructure, remediates configuration drift, and automatically deploys new configurations and new version code to the target environment. ArgoCD is essential when developer teams work in version-controlled environments and is great for complex application rollouts. ArgoCD offers a web UI, APIs, a command line interface, custom resource definitions, a repository service, and an application controller to facilitate GitOps. The core premise of GitOps is to deploy in containers, orchestrate those deployments, and abstract those deployments into code.

What does Aionic add to ArgoCD?

Aionic’s architecture with ArgoCD and Kubernetes
Aionic’s architecture with ArgoCD and Kubernetes

While ArgoCD is very effective at diffing and automatic deployment, its historical rollback functionality is limited. You can see the last digits of the GitHub SHA of each commit but would have to follow that link to GitHub, find the differences in the manifest files looking at each individual file from that commit, and roll back the repo manually. Aionic allows developers to see all of their manifests and history in one centralized app, and revert back and forth from specific deployments quickly and easily. Each commit is saved with it’s respective manifest files displayed right in front of the user, giving developers accurate and accessible information to make streamlined decisions. With one click of a button, the desired state of deployment can be pushed to the tracked repo, which ArgoCD will then redeploy.

How does Aionic work?

Aionic leverages the ArgoCD API to query any changes to all of the apps managed by Argo. It ensures user safety by having the user provide their own MongoDB deployment at launch. When provided with the appropriate Mongo URI, Aionic creates the necessary structure to store all of the appropriate manifests. During initial setup, you will provide Aionic with the GitHub and ArgoCD tokens of someone who has access to all the appropriate repos and apps. As long as Aionic is running in a cluster, any changes will be saved and recorded in your Mongo database. After initial setup, each individual user will login via GitHub, removing the need to create an account with Aionic. Each user will have to provide a GitHub access token and their own Argo token to ensure they can only access apps that their organization has allowed them. At this point, they will have access to all of the historical changes in that database.

  1. Login and authenticate through through your GitHub account
  2. Enter your ArgoCD token and ArgoCD URL (the ArgoCD URL is the URL that ArgoCD is exposed and the ArgoCD token should give you access to the apps based on your ArgoCD privileges)
Login and initial setup for Aionic
  1. Start managing your apps!
Aionic’s work flow

For more information on how to get started with Aionic, fork and read the ReadMe in our GitHub repository.

Contributing to Aionic

Aionic was officially released 3/2/23 under the OSLabs Beta tech accelerator umbrella. The project is released under the MIT License and is fully open source. Please open issues or submit PRs if you have any suggestions or improvements! Our GitHub repository is accessible here.

And if you want to check out our landing page please click here.

If you like to support us, please remember to star our repository on Github and follow us on LinkedIn! Thanks for reading and please share stories of how this app fits into your workflow.

Aionic Team Members

--

--