Workflow Architecture - How KubeOrch Deploys to Kubernetes #6
mohit-nagaraj
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Executive Summary
KubeOrch implements a template-driven deployment system that transforms visual workflows into Kubernetes resources. Think of it as "Helm charts meets visual programming" - users design workflows visually, and we handle the complex Kubernetes operations.
Architecture Overview
How It Works
1. Visual Design Phase (UI)
Users create workflows by:
Example Node Data:
{ "id": "node-1", "type": "deployment", "data": { "templateId": "core/deployment", "image": "nginx:latest", "replicas": 3, "port": 80 } }2. Template System (Backend)
We use Go templates (like Helm) to transform configurations into Kubernetes manifests:
3. Execution Flow
4. The Magic: Universal Manifest Applier
Instead of writing code for each Kubernetes resource type, we built a universal applier using Kubernetes dynamic client:
This means:
kubectl apply)Key Components
1. Template Engine (
pkg/template/engine.go)2. Manifest Applier (
pkg/applier/manifest_applier.go)3. Workflow Executor (
services/workflow_executor.go)4. Resource Validator (
pkg/validator/resource_validator.go)Why This Architecture?
1. Flexibility
2. Familiar Patterns
3. Production Ready
4. Developer Friendly
Adding New Resources
To add a new Kubernetes resource (e.g., Service):
{ "templateId": "core/service", "port": 80, "serviceType": "LoadBalancer" }Current Capabilities
✅ Supported:
🚧 Coming Soon:
Security
Performance
Best Practices
Comparison with Other Tools
Summary
KubeOrch provides a visual, template-driven approach to Kubernetes deployments. By combining the simplicity of visual workflows with the power of Kubernetes templates, we make complex orchestration accessible to all team members while maintaining the flexibility that DevOps teams need.
The key insight: Don't write code for each resource type - use templates and a universal applier.
For implementation details, see
/docs/DEPLOYMENT_FLOW.mdBeta Was this translation helpful? Give feedback.
All reactions