A Kubernetes-native system for executing commands at scale across distributed worker nodes.
- Parallel Execution - Run commands across multiple workers simultaneously
- Kubernetes Native - First-class CRD support with
kubectlintegration - Auto-Scaling - Dynamically scales workers based on queue depth
- Fast - gRPC-based communication for minimal latency
- Secure - Command allowlists/blocklists, RBAC integration
# Submit a job via CLI
./bin/distctl run echo "Hello, World!"
# Or via Kubernetes CRD
kubectl apply -f - <<EOF
apiVersion: distexec.io/v1
kind: DistributedJob
metadata:
name: hello
spec:
command: "echo"
args: ["Hello from K8s!"]
parallelism: 5
EOF
# Check status
kubectl get distributedjobs
./bin/distctl list# Build
make build
# Deploy to Kubernetes
kubectl apply -f deploy/k8s/βββββββββββββββ βββββββββββββββββββββββββββββββββββ
β distctl β β MASTER β
β (CLI) βββgRPCβββΆβ βββββββββββ ββββββββββββββββ β
βββββββββββββββ β βSchedulerβ β Load Balancerβ β
β ββββββ¬βββββ βββββββββ¬βββββββ β
β β β β
β ββββββΌββββββββββββββββΌβββββββ β
β β Node Registry β β
β βββββββββββββββββββββββββββββ β
βββββββββββββββββ¬ββββββββββββββββββ
β gRPC
ββββββββββββββββββββββββΌβββββββββββββββββββββββ
βΌ βΌ βΌ
ββββββββββββ ββββββββββββ ββββββββββββ
β Worker 1 β β Worker 2 β β Worker N β
β(executor)β β(executor)β β(executor)β
ββββββββββββ ββββββββββββ ββββββββββββ
| Topic | Link |
|---|---|
| Architecture | specs/00-OVERVIEW.md |
| Components | specs/01-COMPONENTS.md |
| API Reference | specs/02-RPC-PROTOCOL.md |
| Scaling | specs/03-DYNAMIC-SCALING.md |
MIT