feat(web): add Ops page and proxy control on :8600

Vite listens on 8500 and proxies /ops to the control plane. Admin Ops UI
covers pause/resume, scale, drain/force restart, and restart-needed banner.

Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
This commit is contained in:
Cursor Agent
2026-08-19 10:55:02 +00:00
co-authored by nsrb
parent 756ba8a7ac
commit 4e6c336ae8
21 changed files with 2931 additions and 269 deletions
+38
View File
@@ -0,0 +1,38 @@
/**
* Dev ecosystem for `pnpm dev:pm2`.
* Prefer starting children via control.js (desired state) rather than this file.
* Kept as a reference / fallback: `pm2 start packages/server/ecosystem.dev.cjs`
*/
const path = require("path");
const root = path.resolve(__dirname, "../..");
module.exports = {
apps: [
{
name: "jflow-http",
script: path.join(__dirname, "server.js"),
cwd: root,
instances: 1,
exec_mode: "fork",
env: {
JFLOW_ROLE: "api",
PORT: "8700",
JFLOW_CORS_ORIGIN: "http://localhost:8500",
JFLOW_CONFIG_GENERATION: "1",
},
},
{
name: "jflow-worker",
script: path.join(__dirname, "worker.js"),
cwd: root,
instances: 1,
exec_mode: "fork",
env: {
JFLOW_ROLE: "worker",
JFLOW_CORS_ORIGIN: "http://localhost:8500",
JFLOW_CONFIG_GENERATION: "1",
},
},
],
};