Files
EVOLV/docker/settings.js
Rene De Ren 0cab98c196
Some checks failed
CI / lint-and-test (push) Has been cancelled
Pumping-station demo overhaul + cross-node test harness + bumps
Submodule bumps land the deadlock fix (state.js residue unpark + MGC
optimalControl dispatch reorder) and pumpingStation stopLevel hysteresis.

- Renames examples/pumpingstation-3pumps-dashboard →
  pumpingstation-complete-example with regenerated flow.json. New
  dashboard groups, demand-broadcast wiring, S88 placement rule
  applied, ui-chart trend-split and link-channel naming follow
  .claude/rules/node-red-flow-layout.md.
- New cross-node test harness under test/: end-to-end-pumpingstation
  drives PS + MGC + 3 pumps + physics simulator end-to-end and
  verifies the ~5/15 min cycle.
- Adds Grafana provisioning dashboards (pumping-station.json) and a
  helper sync-example.sh script for export/import to live Node-RED.
- Docker entrypoint + settings + compose tweaks for the persistent
  user dir layout used by the demo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 11:21:21 +02:00

60 lines
1.7 KiB
JavaScript

/**
* Node-RED Settings for EVOLV Docker Development Environment
*
* This configuration is for LOCAL DEVELOPMENT ONLY.
* No authentication — do not expose to untrusted networks.
*/
module.exports = {
flowFile: '/data/flows.json',
userDir: '/data',
// Bind to all interfaces inside the container
uiHost: '0.0.0.0',
uiPort: 1880,
// No authentication for dev environment
adminAuth: null,
// Projects ON: each example folder under /data/projects is a Node-RED
// project (a small Git repo). Operator switches between them in the
// editor (Projects → Open Project). The entrypoint bootstraps every
// examples/<name>/ into /data/projects/<name>/ on first run; after
// that, edits live in the persistent nodered_data volume. To copy
// edits back into the EVOLV source tree, run:
// docker cp evolv-nodered:/data/projects/<name>/flow.json \
// examples/<name>/flow.json
editorTheme: {
projects: {
enabled: true,
workflow: {
// Manual: editor doesn't auto-commit. Use the Projects UI
// (or `git` from a shell into the container) to commit.
mode: 'manual'
}
}
},
// Global context available to function nodes
functionGlobalContext: {
locationId: process.env.LOCATION_ID || 'docker-dev',
uuid: require('crypto').randomUUID()
},
// Logging
logging: {
console: {
level: 'info',
metrics: false,
audit: false
}
},
// Increase max message size for large telemetry payloads
apiMaxLength: '5mb',
// Diagnostic reporting off for dev
diagnostics: {
enabled: false
}
};