Skip to content

ubccr/heorot

Repository files navigation

Dev update: Heorot is currently being re-written in GO and integrated directly into the Grendel binary. Beta code can found starting with Grendel v0.0.9

Heorot

Github top language Github language count Repository size License

🎯 About

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.

✨ Features

✔️ 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

🏁 Production build

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.

✅ Requirements

Installation of requirements will not be covered in this guide

Heorot setup:

# 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

Copy the configuration files:

cp /opt/heorot/api/config.example.js /opt/heorot/api/config.js && cp /opt/heorot/docker-compose.example.yml /opt/heorot/docker-compose.yml

Setup the configuration files:

# Please read though the files, there are many comments!
nano /opt/heorot/docker-compose.yml
nano /opt/heorot/api/config.js

Generate Certs & Keys:

The /opt/heorot/api/keys directory needs the following:

  1. server.cert
  2. server.key
  3. 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

Start the containers:

docker compose up -d

🎉 Heorot should now be running!

Head to the signup page and create an account to get started

Log files:

docker logs heorot_heorot-1

Grendel Tags:

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

📝 License

This project released under the GPLv3 license . For more details, see the LICENSE file.

 

Back to top