diff --git a/README.md b/README.md index 99fc688cb18d9301e1dba89f41491cf1e948ad4f..acfdf037cdb3068d810ec0a153adaf3299294952 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,22 @@ Link: [robotlearn.gitlabpages.inria.fr/cluster-monitor](https://robotlearn.gitlabpages.inria.fr/cluster-monitor/) +## Implementation overview + +The cluster monitor counts three entities: +- The **data fetcher** is running directly on an inria workstation (currently `alya`). It is + performing `ssh` commands to other nodes (especially `access1-cp`) to gather the cluster state.\ + **Code:** `rl_hm/data_fetcher/` +- The **backend server** is running on a Linux server external to Inria and is receiving the **data + fetcher** updates through an TCP socket connection running over an SSH tunnel. + It exposes a [Socket.IO](https://socket.io/) server to the web clients that connect to it. + As soon as it receives an update from the **data fetcher**, it pushes it to all of the connected + clients through the _socket-io_ connection.\ + **Code:** `rl_hm/backend/` +- Finally, the web clients run a javascript application that connects to the _socket-io_ server + (**backend**) and updates the html page with the reveived data.\ + **Code:** `public/` + ## Acknowlegment - **David Emukpere:** for his numerous advice and help about web development and infrastructure.