Once you’ve gotten started with a basic configuration, you’ll probably want to customize the look and feel of hyperglass by changing the logo or color scheme. Fortunately, there are a lot ways to customize hyperglass.
Configuration Files
| File Name | Docs | Purpose | 
|---|---|---|
| config | Config File Docs | Application-wide configuration such as logging, web UI customization, etc. | 
| devices | Devices File Docs | Your devices and their associated configurations. | 
| directives | Directives File Docs | Custom directives (commands). | 
Using a Python File
When using a Python file for a hyperglass configuration, one of the following methods may be used:
Define a Function Named main
Example: Using a Python function to define configuration parameters
def main():
  return {
    "org_name": "Your Organization Name",
    "web": {
      "theme": {
        "colors": {
          "blue": "#0000ff",
        }
      }
    }
  }
 
# The main function can also be an async function.
async def main():
  config = await some_function_to_fetch_config()
  return configDefine a Dictionary Named main
Example: Using a Python dictionary to define configuration parameters
main = {
    "org_name": "Your Organization Name",
    "web": {
      "theme": {
        "colors": {
          "blue": "#0000ff",
        }
      }
    }
  }Built-in Directives
hyperglass ships with predefined directives for the following platforms:
- Arista EOS
- BIRD
- Cisco IOS
- Cisco NX-OS
- Cisco IOS-XR
- FRRouting
- Huawei VRP
- Juniper Junos
- Mikrotik
- Nokia SR OS
- OpenBGPD
- TNSR
- VyOS
All built in directives require that the following attrs be defined on each device using the directive:
| Attribute | Value | 
|---|---|
| source4 | IPv4 address used to source Ping and Traceroute commands. | 
| source6 | IPv6 address used to source Ping and Traceroute commands. | 
⚠️
If you do not utilize IPv6 in your network, you’ll need to create your own directive that only has IPv4 commands.