🚀

Final Session on Argo Events and CI/CD

May 23, 2025

Argo Course - Final Session

Lecturer: Muhammad

Overview

  • Last session of the course.
  • Topics covered: Argo CD, Rollouts, Workflows.
  • Focus on implementing a CI/CD pipeline.

Previous Session Recap

  • Implemented a CI/CD pipeline using Argo stack.
  • Built Docker images, pushed to Nexus registry.
  • Applied changes to Kubernetes cluster.

CI/CD Pipeline Improvement

  • Current issue: manual workflow submission after source code modification.
  • Solution: Automate workflow triggering with Argo Events.

Introduction to Argo Events

  • Triggers workflows based on events in Kubernetes or external triggers.
  • Example events: Git repository changes, database updates, custom user-defined events.

Argo Events Components

  1. Event Source
    • Defines how and when events are generated.
    • Integrates with external systems (e.g., GitLab, GitHub).
    • In this scenario: GitLab event source.
  2. Sensor
    • Listens for events from event sources.
    • Triggers workflows based on these events.
  3. Event Bus
    • Acts as transport layer.
    • Connects event sources and sensors.

Configuration and Setup

Setting Up Argo Events

  • Ensure Argo Events is installed on Kubernetes cluster.
  • Create necessary namespaces and resources.
  • Deploy Event Bus and ensure service account permissions.

Event Source Setup

  • GitLab Integration:

    • Event source connects Argo Events to specific GitLab repository (my- app repository).
    • Create webhook using access tokens for GitLab repository.
  • Ingress Setup:

    • Necessary for accessing the service from outside Kubernetes.
    • Ingress URL must be reachable from the GitLab server.

Event Sensor Configuration

  • Authorization:
    • Use service account operate-workflows with sufficient permissions.
    • Define dependencies and triggers.

Workflow Overview

  • Clone repositories, build Docker images, and push to Nexus registry.
  • Update manifest to switch to the new application version.
  • Use Argo Workflows for automation.

Deployment and Demo

Applying Configurations

  • Clone relevant repositories (Argo config and my app).
  • Apply Argo CD application configurations.

Testing

  • Modify repository files to trigger workflows.
  • Monitor workflow execution and verify Docker image updates.
  • Check Argo CD and Rollouts for deployment updates.

Conclusion

  • Argo Events automates workflow submissions, enhancing CI/CD efficiency.
  • Successful demo of automated pipeline using Argo technologies.
  • Invited contributions to the GitHub repository for further improvements.

Additional Resources

  • GitHub Repositories:
    • argo-cd-tutorial: Contributions for tutorials and projects.
    • cicd-with-argo-stack: Personal repo with detailed instructions.

Feedback

  • Requests for feedback and suggestions for improvement.

This concludes the Argo course, emphasizing the integration of Argo Events to automate CI/CD pipelines effectively. Thank you for participating!