Set of tools (docker containers) to enable customers to monitor leaks in liquid cooling subsystems for IRC-monitored rack devices and perform required actions (shutdown rack devices) to prevent damage to the devices.
Note: Images in this documentation need to be updated. Current images are placeholders and will be replaced with actual screenshots.
- Listen for events from IRC via Redfish Server-Sent Events (SSE)
- When leak event message is received, perform default or custom action (shutdown) on the associated rack devices
- Display leak status and valves open/close status for each IRC in UI
- Display shutdown operation status and power status for each associated rack device in UI
All containers communicate using STOMP protocol via ActiveMQ message bus. For example, when configui wants to add an IRC service, it sends an ADDSERVICE command with IRC info (IP and credentials) on the databus queue, and dbdiscauth receives the message and stores the IRC information in MySQL.
activemq: Message queue for inter-container communication using STOMP protocol.
mysqldb: Configuration and state persistence database. MySQL provides persistent storage for user settings, device configurations, and system state via named volume mounts.
configui: Web-based frontend UI for system configuration and monitoring. Runs on HTTPS port 443 with JWT-based authentication.
dbdiscauth: Device onboarding and authentication service. Handles ADDSERVICE/DELSERVICE commands, manages device credentials, and persists configurations to MySQL. Currently supports basic authentication (username/password).
redfishread: Redfish Server-Sent Events (SSE) monitoring service. Connects to IRC devices, subscribes to alert events, and publishes event data to the ActiveMQ databus queue.
action: Shutdown action execution service. Processes leak events and executes appropriate shutdown actions on associated rack devices based on system type configurations.
The system uses YAML-based configuration files to define behavior for different device types. Configuration files are located in configs/systemtypes/ and support:
- Built-in configurations for common device types (iDRAC, CDU (Lantern), AMI, NVLink)
- Custom configurations for user-defined device types
- Internal configurations for parent system types
Each configuration defines:
- Power state monitoring (Redfish SSE or TCP ping)
- System ID extraction endpoints
- System information endpoints (hostname, firmware, etc.)
- Shutdown actions (graceful and force)
- IRC-specific features (watchdog, valves)
See Custom System Types for detailed configuration options.
For detailed setup instructions, requirements, and prerequisites, see Setup Instructions.
-
Clone the repository:
git clone https://github.com/dell/IRC-Reference-Tools cd IRC-Reference-Tools -
Start the system (the script handles everything automatically):
bash docker-compose-files/compose.sh up
-
Configure the system:
-
Monitor the system:
- Setup Instructions
- Leak Detection and Shutdown Workflow
- Troubleshooting Guide
- API documentation
- Custom System Type
- All web UI communication uses HTTPS with self-signed certificates
- Device credentials are encrypted in the database
- JWT-based authentication for web UI access
- Container network isolation via Docker bridge network
- Support for custom certificate deployment
- Structured logging with configurable levels (debug, info, warn, error)
- Real-time event monitoring via Redfish SSE
- Persistent state tracking in MySQL database
- Container health monitoring via Docker







