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). |
File Extensions
All the examples in the docs are provided in YAML (opens in a new tab) format, but TOML (opens in a new tab),
JSON, and Python files are also supported.
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
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 config
Define a Dictionary Named main
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.