Responsive

Infuse collaboration into your Argo workflows with Botkube

Sep 29, 2023
7 minutes
read
Maria Ashby
Developer Advocate
Botkube

Learn how to set up Botkube with ArgoCD plugins in this step-by-step tutorial.

Share on Twitter
Share on LinkedIn
Share on Reddit
Share on HackerNews
Copy URL

Table of Contents

Navigating through the complexity of scaling operations and collaborative workflows with GitOps tools like ArgoCD can pose significant challenges. As teams scale, real-time updates and troubleshooting efficiency become paramount. 

Enter Botkube, a Kubernetes collaborative troubleshooting solution designed to seamlessly integrate with widely-used collaboration platforms such as Slack, Discord, and Mattermost. Botkube doesn't just simplify Kubernetes monitoring; it also optimizes GitOps workflows through enhanced automation, real-time collaboration, and centralized knowledge management.

Learn more about Botkube’s move towards GitOps and the new ArgoCD Plugin– the second installment in the Botkube GitOps plugin series in our release announcement

In this tutorial, we'll delve into the capabilities of the Botkube ArgoCD plugin. This powerful tool automates notifications, and enables bi-directional action.  By the end of this tutorial, you will know how to create, configure, and effectively leverage the Botkube ArgoCD plugin to enhance and simplify your GitOps workflow.

Prerequisites

Before you begin, make sure you have the following prerequisites in place:

  • Basic familiarity with Kubernetes and its components
  • Access to a Kubernetes cluster with Helm installed 
  • Access to Slack workspace
  • A Botkube Cloud Account 
  • Argo CD must be installed on your Kubernetes cluster
  • Install the Argo CD CLI on your local machine
  • Set up port forwarding to securely access your Argo CD instance, avoiding exposure over the internet
  • Ensure that you have at least one application configured within ArgoCD

Install the ArgoCD Plugin into a new instance 

Creating Botkube Cloud Account

  1. Sign in to Botkube Cloud, either as a new user with a free account with an email or Github account or as an existing user. 

* Click here for a more in-depth Botkube installation tutorial

Connecting Kubernetes Cluster to Slack

  1. Next, enter your instance display name.
  1. Select the Official Botkube Slack option. (Note this option requires you to sign up for a 30 day free trial)
  1. Access the app settings within Slack to configure the integration with Botkube. Click the "Add Slack" button to initiate the process.
  1. Select the workspace within Slack where you want to utilize Botkube. You will now have access to public and private channels, enabling seamless communication and collaboration for Kubernetes troubleshooting tasks.
  1. To include Botkube in private channels, utilize the "Add to Channel" feature. This ensures that Botkube is present in relevant channels where Kubernetes-related discussions and incident responses take place.
  1. Select the Plugins you would like to use.

Enabling the Argo CD Source Plugin

Botkube Setup Wizard for easy K8s tool deployment
  1. Select the ArgoCD and kubectl Plugin

     2. Begin by selecting the ArgoCD and kubectl plugins within your Botkube setup

Adding Argo CD API Keys

      3. Configure the plugin with your Botkube instance

      4. Insert your resources from your ArgoCD UI

  • Fill in your “Name” and “Namespace”
  • Make sure your BaseURl matches the one found on your ArgoCD UI 
Setting Argo CD permissions on deployment
  1. Configure Permissions
  • In the Argo plugin settings, select the "Permissions" tab.
  • Choose the "Custom" option.
  • Under the custom permissions, select the "Group" option
  • Next, update the permissions for RBAC (Role-Based Access Control).
  • Add "argocd” 
RBAC controls for Argo
  1. Click "Next" to proceed to the installation step.
  2. On the next page, you will have the option to also enable Command Alias and Botkube Actions

      7. Make your selection and click the create button.

      8. You are now ready to start playing with your Botkube plugin.

Using the ArgoCD Plugin in Action

Checking the Health Status of Apps 

ArgoCD events

Use Botkube’s ArgoCD plugin for seamless health status checks on your ArgoCD apps. Dive into the world of troubleshooting with just a couple of commands. Utilize "kubectl describe" and "kubectl get" within Botkube to verify the optimal functioning of the Argo CD source plugin. Leverage slack  interactivity and automation to make health status checks a breeze. 

Conclusion

In summary, the ArgoCD Plugin by Botkube stands as an indispensable resource for streamlining GitOps workflows. It excels in automating notifications, fostering collaboration, and bi-directional control. This makes Gitops workflows more efficient and easier to scale. 

Botkube significantly simplifies the ArgoCD troubleshooting process by offering a streamlined and user-friendly alternative to the complex manual process. Once enabled, Botkube takes charge of configuring notifications, utilizing its incoming webhook to effortlessly receive and forward events. This eliminates the need for intricate procedures like generating ArgoCD webhook secrets and manually setting up triggers for events. Botkube goes beyond simple alerting by allowing users to directly engage with ArgoCD events, performing actions like running commands on applications, viewing applications in the ArgoCD UI, or opening the source repository in a web browser—all from your communication platform of choice. This streamlined and interactive approach to troubleshooting ArgoCD takes your team’s efficiency to the next level.

Get started with Botkube

Whether you're a seasoned Kubernetes pro or just getting started, Botkube can help supercharge your troubleshooting process. Join the community of users on Slack who are already benefiting from the power of Botkube.