Orchestrator — Overview
The Genzbots Orchestrator is a Blazor Server web application that provides centralised management of workflows, jobs, robots, schedules, secrets, and pipelines. It runs on port 5100 and can use either SQLite (default) or PostgreSQL for storage.
Architecture
| Component | Technology | Role |
|---|---|---|
| Dashboard | ASP.NET Blazor Server + MudBlazor | Web UI for management and monitoring |
| Robot Agent | .NET console app | Runs on each machine that executes workflows; reports to Dashboard via HTTP on port 5101 |
| Job Queue | SQLite / PostgreSQL | Persistent queue of Pending → Running → Completed/Failed jobs |
| Scheduler | Background service (cron) | Fires jobs on time-based triggers |
| Dispatcher | Background service | Routes Pending jobs to available Robot agents |
| SignalR Hub | /hubs/execution | Pushes real-time status updates to the browser without polling |
| REST API | Minimal API | Used by Robot agents to report heartbeats and job status |
Roles & Permissions
| Role | Capabilities |
|---|---|
| Admin | Full access — users, settings, secrets, audit log, bulk delete |
| Developer | Workflows, jobs, schedules, triggers, pipelines — no user management |
| Operator | Submit and monitor jobs; read-only on registry and robots |
Connecting from Studio
- On the Home Screen, click Connect in the sidebar
- Enter the Orchestrator URL (e.g.,
http://localhost:5100orhttps://orchestrator.company.com) - Log in with your Orchestrator credentials
- Once connected, File → Publish to Orchestrator uploads the current workflow to the Registry
Database Options
Configure in appsettings.json:
workflow
| 1 | { |
| 2 | "Database": { |
| 3 | "Provider": "SQLite", // or "PostgreSQL" |
| 4 | "PostgresConnectionString": "Host=localhost;Database=genzbots;Username=genzbots;Password=changeme" |
| 5 | } |
| 6 | } |