Argo
Argo and Memphis using NATS Event source
Introduction
Argo is a collection of open-source tools for Kubernetes to run workflows,manage clusters, and do GitOps easily.
Memphis is an open-source next-generation alternative to traditional message brokers.
Among Argo tools, Argo Workflows can be found. Kubernetes-native workflow engine supporting DAG and step-based workflows. Some of Argo Workflows features -
Define workflows where each step in the workflow is a container.
Model multi-step workflows as a sequence of tasks or capture the dependencies between tasks using a graph (DAG).
Easily run compute-intensive jobs for machine learning or data processing in a fraction of the time using Argo Workflows on Kubernetes.
Run CI/CD pipelines natively on Kubernetes without configuring complex software development products.
Argo-defined workflows can be triggered by incoming events which arrive from a component called "Event Source." Multiple event sources can be used simultaneously.
Using Memphis as an Argo workflows event source
Memphis provides multiple features that enhance the experience with Argo, like:
Full GUI with real-time observability
Schema management and transformation
REST Webhooks
Dead-Letter Queue with automatic message retransmit
Serverless stream enrichments
SDKs: Node.JS, Go, Python, TypeScript, NestJS
One of the key advantages of using Memphis is the ability to troubleshoot complicated async processes using message tracing, data-level observability, self-healing policies, and real-time notifications, which can be a great help, especially for auditing and logging when events and triggers are fired from multiple places towards your Argo and potentially can create highly expensive resources and workflows.
Memphis can trigger Argo workflows via Argo Event Source.
An Event Source defines the configurations required to consume events from external sources like Memphis, NATS, AWS SNS, SQS, GCP PubSub, Webhooks, etc.
Getting started
Step 1: Create event source YAML file
Step 2: Create memphis-creds
secret in argo-evens
namespace
memphis-creds
secret in argo-evens
namespaceStep 3: Create Event Source resource
Step 4: Create sensor resource YAML file
Step 5: Create sensor resource
Step 6: Wrap the "foo" subject with a stream
As Memphis works with streams, wrapping the subject will enable Memphis to control the subject. To complete that step, NATS cli is needed.
Last updated