Konductor

Konductor
Kubernetes operator for workflow coordination and job orchestration. Synchronize Kubernetes Jobs, coordinate multi-stage pipelines, and manage complex workflows in your cluster.
Features
- Barrier - Synchronize multiple Jobs at coordination points
- Gate - Wait for dependencies before starting Jobs
- Lease - Singleton Job execution and leader election
- Mutex - Mutual exclusion for critical sections
- RWMutex - Read-write locks for concurrent readers or exclusive writers
- Once - Ensure actions execute exactly once across multiple pods
- WaitGroup - Coordinate dynamic number of workers
- Semaphore - Control concurrent Job execution
- CLI - Command-line tool for workflow management
- SDK - Go SDK for programmatic integration
Installation
Helm
# Add the LogicIQ Helm repository
helm repo add logiciq https://logiciq.github.io/helm-charts
helm repo update
# Install konductor
helm install my-konductor logiciq/konductorQuick Start
Using kubectl
# Create a barrier for 3 Jobs
kubectl apply -f - <<EOF
apiVersion: konductor.io/v1
kind: Barrier
metadata:
name: stage-1-complete
spec:
expected: 3
EOF
# Check status
kubectl get barrier stage-1-completeUsing CLI
# Install CLI
go install github.com/LogicIQ/konductor/cli@latest
# Wait for barrier in Job
koncli barrier wait stage-1-complete --timeout 30mUsing SDK
import konductor "github.com/LogicIQ/konductor/sdk/go"
client, _ := konductor.New(nil)
// Wait for dependencies
client.WaitGate(ctx, "dependencies-ready")
// Signal completion
client.ArriveBarrier(ctx, "stage-complete")Synchronization Primitives
Barrier
Synchronize multiple processes at a coordination point.
apiVersion: konductor.io/v1
kind: Barrier
metadata:
name: stage-1-complete
spec:
expected: 3Gate
Wait for multiple conditions before proceeding.
apiVersion: konductor.io/v1
kind: Gate
metadata:
name: validation-gate
spec:
conditions:
- type: Job
name: data-validation
state: CompleteLease
Singleton execution and leader election.
apiVersion: konductor.io/v1
kind: Lease
metadata:
name: daily-report
spec:
ttl: 1hMutex
Mutual exclusion for critical sections.
apiVersion: konductor.io/v1
kind: Mutex
metadata:
name: database-migration
spec:
ttl: 30mRWMutex
Read-write locks allowing multiple concurrent readers or exclusive writers.
apiVersion: konductor.io/v1
kind: RWMutex
metadata:
name: cache-lock
spec:
ttl: 5mOnce
Ensure actions execute exactly once across multiple pods.
apiVersion: konductor.io/v1
kind: Once
metadata:
name: app-init
spec:
ttl: 1hWaitGroup
Coordinate dynamic number of workers.
apiVersion: konductor.io/v1
kind: WaitGroup
metadata:
name: worker-group
spec:
ttl: 1hSemaphore
Control concurrent Job execution.
apiVersion: konductor.io/v1
kind: Semaphore
metadata:
name: batch-limit
spec:
permits: 10 # Max 10 concurrent JobsDocumentation
- π Complete Documentation - Versioned documentation with examples
- π README - Complete documentation and examples
- πΊοΈ ROADMAP - Development roadmap and planned features
- π§ SDK Documentation - Go SDK integration guide