1
0
mirror of https://github.com/checktheroads/hyperglass synced 2024-05-11 05:55:08 +00:00

README Improvements; Community docs

This commit is contained in:
checktheroads
2019-06-24 14:03:11 -07:00
parent c9e920ebc7
commit c1b3d096e9
3 changed files with 79 additions and 19 deletions

3
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,3 @@
<-- Thank you for your interest in contributing to hyperglass. The contribution policy requires that a feature request or bug must be opened prior to a pull request being reviewed. Please list the related feature request or bug below: -->
### Fixes:

47
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,47 @@
## Getting Help
If you encounter any issues installing or using hyperglass, open a GitHub issue.
## Reporting Bugs
- Check the [GitHub issues list](https://github.com/checktheroads/hyperglass/issues)
to see if the bug you've found has already been reported. Feel free to add a comment describing how it's affecting your installation.
- When submitting an issue, please be as descriptive as possible. Be sure to include:
- The environment in which hyperglass is running
- (Scrubbed) `configuration.toml` and `devices.toml` files
- The exact steps that can be taken to reproduce the issue (if applicable)
- Any error messages or exceptions generated
- Screenshots (if applicable)
- Please avoid prepending any sort of tag (e.g. "Bug") to the issue title. The issue will be appropriately tagged after it is reviewed.
## Feature Requests
- First, check the [GitHub issues list](https://github.com/checktheroads/hyperglass/issues) to see if the feature you're requesting is already listed. Feel free to add a comment supporting the addition of the feature.
- When submitting a feature request on GitHub, be sure to include the
following:
- A detailed description of the proposed functionality
- A use case for the feature; who would use it and what value it would add
to hyperglass
- Any third-party libraries or other resources which would be involved
- Please avoid prepending any sort of tag (e.g. "Feature") to the issue title. The issue will be appropriately tagged after it is reviewed.
## Submitting Pull Requests
- Be sure to open an issue **before** starting work on a pull request, and discuss your idea with the hyperglass maintainers before beginning work. This will help prevent wasting time on something that may be out of hyperglass's intended scope.
- Any pull request which does _not_ relate to an accepted issue will be closed.
- When submitting a pull request, please be sure to work off of the `develop` branch, rather than `master`. The `develop` branch is used for ongoing development, while `master` is used for stable, tested, release-worthy versions of hyperglass.
- All code submissions should meet the following criteria (CI will enforce
these checks):
- Python syntax is valid
- Python code is [black](https://github.com/python/black) formatted
- Python code is rated **10/10** by Pylint (using provided `.pylintrc` files)

View File

@@ -2,15 +2,23 @@
**hyperglass** is a modern network looking glass application. A looking glass is typically implemented by network service providers as a way of providing customers, peers, and partners with a way to easily view elements of, or run tests from the provider's network. **hyperglass** is a modern network looking glass application. A looking glass is typically implemented by network service providers as a way of providing customers, peers, and partners with a way to easily view elements of, or run tests from the provider's network.
**hyperglass** is intended to make implementing a looking glass too easy not to do, with the lofty goal of improving the internet community at large by making looking glasses more common across autonomous systems of any size. <hr>
<br> <div align="center">
[**Documentation**](https://hyperglass.readthedocs.io)&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;[**Screenshots**](https://hyperglass.readthedocs.io/en/latest/screenshots/)&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;[**Live Demo**](https://hyperglass.allroads.io/)
[![Build Status](https://travis-ci.org/checktheroads/hyperglass.svg?branch=master)](https://travis-ci.org/checktheroads/hyperglass) [![Build Status](https://travis-ci.org/checktheroads/hyperglass.svg?branch=master)](https://travis-ci.org/checktheroads/hyperglass)
![GitHub issues](https://img.shields.io/github/issues/checktheroads/hyperglass.svg) ![GitHub issues](https://img.shields.io/github/issues/checktheroads/hyperglass.svg)
![Pylint](https://raw.githubusercontent.com/checktheroads/hyperglass/master/pylint.svg?sanitize=true) ![Pylint](https://raw.githubusercontent.com/checktheroads/hyperglass/master/pylint.svg?sanitize=true)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
</div>
<hr>
**hyperglass** is intended to make implementing a looking glass too easy not to do, with the lofty goal of improving the internet community at large by making looking glasses more common across autonomous systems of any size.
## Features ## Features
- BGP Route, BGP Community, BGP AS Path, Ping, Traceroute - BGP Route, BGP Community, BGP AS Path, Ping, Traceroute
@@ -28,32 +36,34 @@
- Query response caching with configurable cache timeout - Query response caching with configurable cache timeout
- [Prometheus](https://prometheus.io/) metrics for query statistics tracking - [Prometheus](https://prometheus.io/) metrics for query statistics tracking
### [Documentation](https://hyperglass.readthedocs.io)
### [Preview](https://hyperglass.readthedocs.io/en/latest/screenshots/)
### [Demo](https://hyperglass.allroads.io/)
## Platform Support ## Platform Support
Theoretically, any vendor supported by Netmiko can be supported by hyperglass. However, hyperglass is preconfigured to support the following platforms: hyperglass is preconfigured to support the following platforms:
### Routers - **Cisco IOS-XR**: Netmiko `cisco_xr` vendor class
- **Cisco Classic IOS/IOS-XE**: Netmiko `cisco_ios` vendor class
- **Juniper JunOS**: Netmiko `junos` vendor class
- **FRRouting**: [`hyperglass-frr`](https://github.com/checktheroads/hyperglass-frr) API
- **BIRD**: [`hyperglass-bird`](https://github.com/checktheroads/hyperglass-bird) API
- Cisco IOS-XR: Netmiko `cisco_xr` vendor class Theoretically, any vendor supported by Netmiko can be supported by hyperglass. To request support for a specifc platform, please [submit a Github Issue](https://github.com/checktheroads/hyperglass/issues/new) with the **enhancement** label.
- Cisco Classic IOS/IOS-XE: Netmiko `cisco_ios` vendor class
- Juniper JunOS: Netmiko `junos` vendor class
- FRRouting: [hyperglass-frr](https://github.com/checktheroads/hyperglass-frr) API
- BIRD: [hyperglass-bird](https://github.com/checktheroads/hyperglass-bird) API
### Proxies
- Linux: `linux_ssh`
## Coming Soon ## Coming Soon
- [GoBGP](https://github.com/osrg/gobgp) Support - [GoBGP](https://github.com/osrg/gobgp) Support
## Community
For now, hyperglass news will be made available via Twitter:
- [@checktheroads](https://twitter.com/checktheroads)
**hyperglass is developed with the express intention of being free to the networking community**.
*However, the hyperglass demo does cost [/checktheroads](https://github.com/checktheroads) about $15/month for 3 Digital Ocean droplets. If you're feeling particularly helpful and want to help offset that cost, small donations are welcome.*
[![Donate](https://img.shields.io/badge/Donate-blue.svg?logo=paypal)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZQFH3BB2B5M3E&source=url)
## Acknowledgements ## Acknowledgements
- This project originally started as a fork of [vraulsan](https://github.com/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](https://github.com/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.