mirror of
				https://github.com/checktheroads/hyperglass
				synced 2024-05-11 05:55:08 +00:00 
			
		
		
		
	fixed requirements issue, added more docs
This commit is contained in:
		
							
								
								
									
										37
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								README.md
									
									
									
									
									
								
							@@ -9,18 +9,18 @@
 | 
			
		||||

 | 
			
		||||
[](https://github.com/ambv/black)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Features
 | 
			
		||||
- BGP Route, BGP Community, BGP AS_PATH, Ping, Traceroute
 | 
			
		||||
- Full IPv6 support
 | 
			
		||||
- [Netmiko](https://github.com/ktbyers/netmiko)-based connection handling
 | 
			
		||||
- Customizable commands for each function by vendor
 | 
			
		||||
- Clean, google-esq GUI based on the [Bumla](https://bulma.io) framework
 | 
			
		||||
- Customizable colors, logo, web fonts, error messages, UI text
 | 
			
		||||
- TOML-based config file for all customizable parameters (no databases!)
 | 
			
		||||
- Configurable IP/Prefix "blacklist" to prevent lookup of internal/private prefixes
 | 
			
		||||
- Configurable rate limiting, powered by [Flask-Limiter](https://github.com/alisaifee/flask-limiter)
 | 
			
		||||
- Query response caching with configurable cache timeout, powered by [Flask-Caching](https://github.com/sh4nks/flask-caching)
 | 
			
		||||
 | 
			
		||||
-   BGP Route, BGP Community, BGP AS_PATH, Ping, Traceroute
 | 
			
		||||
-   Full IPv6 support
 | 
			
		||||
-   [Netmiko](https://github.com/ktbyers/netmiko)-based connection handling
 | 
			
		||||
-   Customizable commands for each function by vendor
 | 
			
		||||
-   Clean, google-esq GUI based on the [Bumla](https://bulma.io) framework
 | 
			
		||||
-   Customizable colors, logo, web fonts, error messages, UI text
 | 
			
		||||
-   TOML-based config file for all customizable parameters (no databases!)
 | 
			
		||||
-   Configurable IP/Prefix "blacklist" to prevent lookup of internal/private prefixes
 | 
			
		||||
-   Configurable rate limiting, powered by [Flask-Limiter](https://github.com/alisaifee/flask-limiter)
 | 
			
		||||
-   Query response caching with configurable cache timeout, powered by [Flask-Caching](https://github.com/sh4nks/flask-caching)
 | 
			
		||||
 | 
			
		||||
## Documentation
 | 
			
		||||
 | 
			
		||||
@@ -31,18 +31,23 @@ Documentation can be found [here](https://hyperglass.readthedocs.io), or in the
 | 
			
		||||
For screenshots, see [here](screenshots.md), or the `screenshots/` directory.
 | 
			
		||||
 | 
			
		||||
## Platform Support
 | 
			
		||||
 | 
			
		||||
Theoretically, any vendor supported by Netmiko can be supported by Hyperglass. However, I am currently listing platforms I have personally tested and verified full functionality with:
 | 
			
		||||
 | 
			
		||||
### Routers
 | 
			
		||||
- Cisco IOS-XR: `cisco_xr`
 | 
			
		||||
- Cisco Classic IOS/IOS-XE: `cisco_ios`
 | 
			
		||||
- Juniper JunOS: `junos`
 | 
			
		||||
 | 
			
		||||
-   Cisco IOS-XR: `cisco_xr`
 | 
			
		||||
-   Cisco Classic IOS/IOS-XE: `cisco_ios`
 | 
			
		||||
-   Juniper JunOS: `junos`
 | 
			
		||||
 | 
			
		||||
### Proxies
 | 
			
		||||
- Linux: `linux_ssh`
 | 
			
		||||
 | 
			
		||||
-   Linux: `linux_ssh`
 | 
			
		||||
 | 
			
		||||
## Acknowledgements
 | 
			
		||||
- This project originally started as a fork of vraulsan's [looking-glass](https://github.com/vraulsan/looking-glass) project. The guts of the Flask components still remain from that project, but almost everything else has been rewritten. Nevertheless, the inspiration for building hyperglass came from here.
 | 
			
		||||
 | 
			
		||||
-   This project originally started as a fork of vraulsan's [looking-glass](https://github.com/vraulsan/looking-glass) project. The guts of the Flask components still remain from that project, but almost everything else has been rewritten. Nevertheless, the inspiration for building hyperglass came from here.
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
[Clear BSD License](https://github.com/checktheroads/hyperglass/master/LICENSE)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										44
									
								
								docs/installation/installing-hyperglass.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								docs/installation/installing-hyperglass.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
# Download
 | 
			
		||||
 | 
			
		||||
## System Requirements
 | 
			
		||||
 | 
			
		||||
!!! warning "Compatibility"
 | 
			
		||||
    To date, Hyperglass has only been installed tested on Mac OS X 10.14 and Ubuntu Linux 18.04. Installation instructions are specific to Ubuntu 18.04. Installation instructions for additional operating systems are forthcoming (contribution welcome!).
 | 
			
		||||
 | 
			
		||||
Hyperglass is written and tested on Python 3.7, but should be backwards compatible with any Python 3 version (albeit untested). If needed, install Python 3 and PyPi 3 on your system:
 | 
			
		||||
 | 
			
		||||
```console
 | 
			
		||||
# apt install -y python3 python3-pip
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Clone the repository
 | 
			
		||||
 | 
			
		||||
```console
 | 
			
		||||
$ cd /opt/
 | 
			
		||||
$ git clone https://github.com/checktheroads/hyperglass
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Install Required Python Modules
 | 
			
		||||
 | 
			
		||||
```console
 | 
			
		||||
$ cd /opt/hyperglass/hyperglass
 | 
			
		||||
$ pip3 install -r requirements.txt
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Clone Example Configuration Files
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ cd /opt/hyperglass/hyperglass/config/
 | 
			
		||||
$ for f in *.example; do cp $f `basename $f .example`; done;
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Test the Application
 | 
			
		||||
 | 
			
		||||
At this stage, Hyperglass should be able to start up with the built-in Flask development server. This will be enough to verify that the application itself can run, and provie a means to test branding customizations, router connectivity, etc., prior to placing a production-grade WSGI & web server in front of Hyperglass.
 | 
			
		||||
 | 
			
		||||
```console
 | 
			
		||||
$ cd /opt/hyperglass/hyperglass/
 | 
			
		||||
$ python3 app.py
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
You should now be able to access hyperglass by loading the name or IP on port 5000 in a web browser, for example: `http://10.0.0.1:5000`. Note that the Flask development server is **not** suited for production use. This will simply verify that the application and dependencies have been correctly installed. Production deployment will be covered in the next sections.
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
# General site-wide parameters
 | 
			
		||||
[[general]]
 | 
			
		||||
primary_asn = ""
 | 
			
		||||
debug = true
 | 
			
		||||
debug = false
 | 
			
		||||
google_analytics = ""
 | 
			
		||||
message_error = ""
 | 
			
		||||
message_blacklist = ""
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,10 @@ copyright: ''
 | 
			
		||||
nav:
 | 
			
		||||
    - Home: 'index.md'
 | 
			
		||||
    - Installation:
 | 
			
		||||
      - 'installation.md'
 | 
			
		||||
      - 'Installing Hyperglass': 'installation/installing-hyperglass.md'
 | 
			
		||||
      - 'HTTP/WSGI': 'installation/wsgi.md'
 | 
			
		||||
      - 'Reverse Proxy': 'installation/reverseproxy.md'
 | 
			
		||||
      - 'Running Hyperglass as a Service': 'installation/supervisord.md'
 | 
			
		||||
    - Configuration:
 | 
			
		||||
      - 'Configuring Hyperglass': 'configuration.md'
 | 
			
		||||
      - 'General Parameters': 'configuration/general.md'
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
Flask
 | 
			
		||||
Flask-Limiter
 | 
			
		||||
flask-cache
 | 
			
		||||
flask-caching
 | 
			
		||||
Jinja2
 | 
			
		||||
toml
 | 
			
		||||
netmiko
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,7 @@
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
## BGP Community
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
## BGP AS_PATH
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user