Heorot is a companion to Grendel providing a Web-UI for managing a data center worth of nodes. It's focus is on improving the workflow of hardware lifecycle management, everything from importing and configuring nodes to hardware maintenance.
Checkout the Screenshots file for an example of the UI.
✔️ Visualizes Floor and Rack layouts
✔️ Provides an easy to use UI to manage Grendel
✔️ Displays node information from the Redfish API
✔️ Integration of OpenMange Enterprise alerts
This is an example install using Docker, see the install file for a "from the sources" install.
Please follow security best practices. It is recommended to only allow access to Heorot through a private internal only network.
Installation of requirements will not be covered in this guide
- Docker: docs.docker.com
- Grendel: github.com/ubccr/grendel
# Example directory
sudo mkdir /opt/heorot
Replace v1.3.4 with the latest / desired version:
git clone --branch v1.3.4 --single-branch https://github.com/ubccr/heorot.git /opt/heorot
cp /opt/heorot/api/config.example.js /opt/heorot/api/config.js && cp /opt/heorot/docker-compose.example.yml /opt/heorot/docker-compose.yml
# Please read though the files, there are many comments!
nano /opt/heorot/docker-compose.yml
nano /opt/heorot/api/config.js
The /opt/heorot/api/keys directory needs the following:
- server.cert
- server.key
- switches.key (optional switch ssh private key)
# Example cert generation | Change localhost to your server's IP & region info
openssl req -x509 -sha256 -days 356 -nodes -newkey rsa:2048 -subj "/CN=localhost/C=US/L=New York" -keyout server.key -out server.cert
docker compose up -d
Head to the signup page and create an account to get started
docker logs heorot_heorot-1
There are a few custom Grendel tags that can be added to customize the rack and node view shown in Heorot:
- p22 | /[a-z][0-9]{2}/
- displays node in rack p22
- 2u, 3u, 4u | /[0-9]{1,2}u/
- override for automatic size calcs - renders node as a multi u height chassis
- 1w, 2w | /[0-9]{1,2}w/
- override for automatic size calcs - renders node as a multi node wide chassis
- noAPI
- disables redfish API queries on node page
- switches:
- Dell_OS8, Dell_OS9, Dell_OS10
- set depending on switch OS version
- Dell_PC3
- specific for Dell Powerconnect 6248 - VxWorks v3.x
- Dell_PC5
- specific for Dell Powerconnect 7048 - VxWorks v5.x
- Arista_EOS
- for our core switch | TODO: add non core switch EOS queries for other versions
- Dell_OS8, Dell_OS9, Dell_OS10
This project released under the GPLv3 license . For more details, see the LICENSE file.