0.4.0

stateDiagram-v2
direction TB
ConStarting: Container Starting
ConRunning: Container Running
ConStopped: Container Stopped
ConRemoved: Container Removed
ProjStateSus: project.state = suspended
NRStopped: Node-RED Stopped
NRStarted: Node-RED Started
NRSafe: Node-RED Safe Mode
Crash: Crash Loop
state crash_loop <<choice>>
[*] --> ConStarting : container.start
ConStarting --> ProjStateSus : failed
ConStarting --> ConRunning
state ConRunning {
    direction TB
    NRStarted --> NRStopped : container.stopFlows
    NRStopped --> NRStarted : container.startFlows
    NRStopped --> NRSafe : container.startFlows(safe)
    NRSafe --> NRStarted
    NRSafe --> NRStopped : container.stopFlows
    NRStarted --> Crash
    Crash --> crash_loop
    crash_loop --> NRSafe : y
    crash_loop --> NRStarted : n
    
}
ConRunning --> ConRemoved : container.remove
ConRunning --> ConStopped : container.stop
ConStopped --> ConRemoved : container.remove
ConStopped --> ConStarting : container.start
note right of ConStopped : project.state = suspended
ConRemoved --> [*]
  • Node-RED Stopped: project.state = stopped
  • Node-RED Started: project.state = running
  • Node-RED Safe Mode: project.state = safe