Skip to content

brunocascio/drasi-operator

Repository files navigation

Drasi Operator (Kopf-based)

Overview

This repository contains a Kubernetes Operator for Drasi, built using Kopf. The operator automates the management of Drasi resources and their lifecycle in Kubernetes clusters, enabling declarative data integration and event-driven automation.

Key components:

  • Drasi: An open-source data integration and automation platform.
  • Dapr: Distributed Application Runtime, used for building microservices and event-driven workflows.
  • Drasi Operator: This custom operator manages Drasi resources (queries, sources, reactions, etc.) via Kubernetes CRDs, using Kopf for event handling.

Architecture

Below is a simplified diagram of how the components interact:

graph TD
	subgraph Kubernetes Cluster
		A[User applies Drasi CRDs] --> B(Drasi Operator)
		B -->|Manages| C[Drasi Resources]
		C -->|Triggers| D[Drasi Engine]
		D -->|Uses| E[Dapr Sidecar]
	end
	E -.->|Eventing, Pub/Sub, Bindings| F[External Systems]
Loading

Flow:

  1. Users define Drasi resources (queries, sources, reactions) as Kubernetes CRDs.
  2. The Drasi Operator (this repo) watches for changes and applies them using Drasi CLI.
  3. Drasi Engine runs the data integration logic, leveraging Dapr for eventing and communication.
  4. Dapr connects Drasi to external systems (databases, message brokers, etc.).

Quickstart: Run Locally with Kind

Prerequisites

Setup Steps

# 1. Create a kind cluster
make kind-create

# 2. Install Dapr (eventing/runtime)
make install-dapr

# 3. Build and deploy the Drasi Operator
make install-drasi-operator

# 4. Install Drasi core resources
make install-drasi

# 5. Install Drasi providers (sources, reactions, etc.)
make install-drasi-providers

# 6. Apply a sample to trigger the operator
make apply-sample

# 7. (Optional) Remove the sample
make delete-sample

Cleanup

make clean

Repository Structure

  • src/ — Operator source code (handlers, utils, etc.)
  • k8s/ — Kubernetes manifests (CRDs, deployments, Drasi/Dapr setup)
  • samples/ — Example Drasi resources to test the operator
  • Makefile — Automation for build, deploy, and local dev

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published