mirror of
https://github.com/thatmattlove/hyperglass.git
synced 2026-01-17 00:38:06 +00:00
housekeeping
This commit is contained in:
parent
3d82a21ba4
commit
f324d34323
10 changed files with 171 additions and 143 deletions
30
.github/ISSUE_TEMPLATE/1-feature-request.md
vendored
30
.github/ISSUE_TEMPLATE/1-feature-request.md
vendored
|
|
@ -1,30 +0,0 @@
|
|||
---
|
||||
name: Feature Request
|
||||
about: Suggest an idea for hyperglass
|
||||
labels:
|
||||
- feature
|
||||
---
|
||||
|
||||
<!--
|
||||
If the answer to any of these questions is "no", your feature request will most likely be rejected (but will still be considered).
|
||||
- Is the new feature _only_ applicable to one platform (https://hyperglass.dev/platforms)?
|
||||
- Would the new feature work only on mobile, or only on desktop?
|
||||
- Would the new feature only support IPv4, or IPv6?
|
||||
- Is the new feature something that can be reasonably customized by hyperglass end-users?
|
||||
-->
|
||||
|
||||
# Feature Description
|
||||
|
||||
<!-- Describe the solution or change you would like. -->
|
||||
|
||||
### Is your feature request related to a problem? Please describe.
|
||||
|
||||
<!-- If yes, a clear and concise description of what the problem is. -->
|
||||
|
||||
# Environment & Use Case
|
||||
|
||||
<!-- Describe your use case for hyperglass, the environment on which it runs, the predominant network device type, and any other relevant details. -->
|
||||
|
||||
# Additional Context
|
||||
|
||||
<!-- Add any other context or screenshots about the feature request here. -->
|
||||
49
.github/ISSUE_TEMPLATE/1-feature-request.yaml
vendored
Normal file
49
.github/ISSUE_TEMPLATE/1-feature-request.yaml
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
name: Feature Request
|
||||
description: Suggest an idea for hyperglass
|
||||
labels:
|
||||
- feature
|
||||
assignees:
|
||||
- thatmattlove
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
If the answer to any of these questions is "no", your feature request will most likely be rejected (but may still be considered).
|
||||
- Is the new feature _only_ applicable to one [platform](https://hyperglass.dev/platforms)?
|
||||
- Would the new feature work only on mobile, or only on desktop?
|
||||
- Would the new feature only support IPv4, or IPv6?
|
||||
- Is the new feature something that can be reasonably customized by hyperglass users?
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
description: What version of hyperglass are you currently running?
|
||||
placeholder: v2.0.2
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: feature-details
|
||||
attributes:
|
||||
label: Feature Details
|
||||
description: Describe the solution or change you would like in detail.
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: feature-type
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: Feature Type
|
||||
multiple: true
|
||||
options:
|
||||
- New Platform
|
||||
- Web UI
|
||||
- New Functionality
|
||||
- Change to Existing Functionality
|
||||
- type: textarea
|
||||
id: use-case
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: Use Case
|
||||
description: How will this feature benefit hyperglass users (providers, end-users, or both)?
|
||||
64
.github/ISSUE_TEMPLATE/2-bug-report.md
vendored
64
.github/ISSUE_TEMPLATE/2-bug-report.md
vendored
|
|
@ -1,64 +0,0 @@
|
|||
---
|
||||
name: Bug Report
|
||||
about: Report a problem or unexpected behavior
|
||||
labels:
|
||||
- possible-bug
|
||||
assignees: thatmattlove
|
||||
---
|
||||
|
||||
<!-- Please provide a general summary of the issue in the Title. -->
|
||||
|
||||
# Bug Description
|
||||
|
||||
<!-- A clear and concise description of the bug. -->
|
||||
|
||||
# Expected behavior
|
||||
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
# Steps to Reproduce
|
||||
|
||||
<!-- Provide steps necessary to reproduce this issue. -->
|
||||
|
||||
## Local Configurations
|
||||
|
||||
<!-- If possible, please a link to a live example and the relevant sections of your hyperglass.yaml, commands.yaml, or devices.yaml in a code block. -->
|
||||
|
||||
```
|
||||
<configs>
|
||||
```
|
||||
|
||||
## Logs
|
||||
|
||||
<!-- If an error occurred, please paste the relevant error message(s) in the below code block. -->
|
||||
|
||||
```
|
||||
<logs>
|
||||
```
|
||||
|
||||
# Possible Solution
|
||||
|
||||
<!-- If you think you know what would fix this, please share your ideas. -->
|
||||
|
||||
# Environment
|
||||
|
||||
## Server
|
||||
|
||||
<!-- Please paste the output from `hyperglass system-info` below: -->
|
||||
|
||||
<!-- If, for some reason, that doesn't work, please include the following:
|
||||
- OS:
|
||||
- Python Version:
|
||||
- hyperglass Version:
|
||||
-->
|
||||
|
||||
## Client
|
||||
|
||||
- OS & Version: <!-- (e.g. Windows 10, macOS 10.15, Ubuntu Linux 18.04) -->
|
||||
- Browser: <!-- (e.g. Chrome, Safari, Firefox, etc.) -->
|
||||
|
||||
### Smartphone Details (if applicable)
|
||||
|
||||
- Device: <!-- (e.g. iPhone, Samsung) -->
|
||||
- OS: <!-- (e.g. iOS 13.1, Android 11) -->
|
||||
- Browser: <!-- (e.g. Safari, Chrome) -->
|
||||
98
.github/ISSUE_TEMPLATE/2-bug-report.yaml
vendored
Normal file
98
.github/ISSUE_TEMPLATE/2-bug-report.yaml
vendored
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
name: Bug Report
|
||||
description: Report a problem or unexpected behavior
|
||||
labels:
|
||||
- possible-bug
|
||||
assignees:
|
||||
- thatmattlove
|
||||
body:
|
||||
- type: dropdown
|
||||
id: deployment-type
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: Deployment Type
|
||||
description: How are you running hyperglass?
|
||||
multiple: false
|
||||
options:
|
||||
- Docker
|
||||
- Manual
|
||||
- Other (please explain)
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
description: What version of hyperglass are you currently running?
|
||||
placeholder: v2.0.2
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: steps-to-reproduce
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: Steps to Reproduce
|
||||
description: >
|
||||
Describe in detail the exact steps one can take to reproduce this bug.
|
||||
If reporting a UI bug, be sure to include screenshots, browser version, and operating system and platform.
|
||||
If you've deployed hyperglass manually, be sure to include Python and NodeJS versions.
|
||||
placeholder: |
|
||||
1. Click the thing
|
||||
2. Type the stuff
|
||||
3. See the error
|
||||
- type: textarea
|
||||
id: expected-behavior
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: What did you expect to happen?
|
||||
placeholder: A thing should have happened.
|
||||
- type: textarea
|
||||
id: observed-behavior
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: Observed Behavior
|
||||
description: What actually happened?
|
||||
placeholder: An error was shown.
|
||||
- type: textarea
|
||||
id: configuration
|
||||
attributes:
|
||||
label: Configuration
|
||||
description: hyperglass [config](https://hyperglass.dev/configuration/config) file in YAML format.
|
||||
placeholder: |
|
||||
org_name: Beloved Hyperglass User
|
||||
plugins: []
|
||||
primary_asn: 65000
|
||||
request_timeout: 90
|
||||
site_description: Beloved Hyperglass User Network Looking Glass
|
||||
site_title: Beloved Hyperglass User
|
||||
render: yaml
|
||||
- type: textarea
|
||||
id: devices
|
||||
attributes:
|
||||
label: Devices
|
||||
description: >
|
||||
hyperglass [devices](https://hyperglass.dev/configuration/devices) file in YAML format
|
||||
**with passwords obfuscated or removed**.
|
||||
placeholder: |
|
||||
devices:
|
||||
- name: New York, NY
|
||||
address: 192.0.2.1
|
||||
platform: cisco_ios
|
||||
credential:
|
||||
username: ***
|
||||
password: ***
|
||||
- name: San Francisco, CA
|
||||
address: 192.0.2.2
|
||||
platform: juniper
|
||||
credential:
|
||||
username: ***
|
||||
password: ***
|
||||
render: yaml
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Logs
|
||||
description: Include any relevant log messages related to the bug.
|
||||
render: console
|
||||
27
.github/ISSUE_TEMPLATE/3-new-nos.yaml
vendored
27
.github/ISSUE_TEMPLATE/3-new-nos.yaml
vendored
|
|
@ -1,27 +0,0 @@
|
|||
---
|
||||
name: New Platform
|
||||
description: Request native support for a network operating system/platform
|
||||
labels:
|
||||
- feature
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: >
|
||||
In order to natively support a new platform for hyperglass, please make sure it is supported by Netmiko ([see here](https://hyperglass.dev/platforms)).
|
||||
- type: input
|
||||
attributes:
|
||||
label: Manufacturer
|
||||
description: What is the network vendor? For example, for Juniper Junos, this would be Juniper.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: Name
|
||||
description: What is the name of this platform? For example, for Juniper Junos, this would be Junos
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Commands
|
||||
description: >
|
||||
Please provide the commands required to execute the default hyperglass commands (IPv4 BGP Route, IPv6 BGP Route, BGP AS Path, BGP Community, IPv4 ping, IPv6 ping, IPv4 traceroute, and IPv6 traceroute). If you do not know the commands, it is likely that this request will be either denied or may take a long time to implement.
|
||||
4
.github/ISSUE_TEMPLATE/config.yml
vendored
4
.github/ISSUE_TEMPLATE/config.yml
vendored
|
|
@ -1 +1,5 @@
|
|||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Contributing Policy
|
||||
url: https://github.com/thatmattlove/hyperglass/blob/main/CONTRIBUTING.md
|
||||
about: Please read through the contributing policy before opening an issue or pull request.
|
||||
|
|
|
|||
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
|
|
@ -1,4 +1,4 @@
|
|||
<!-- PLEASE CONSULT CONTRIBUTING.MD PRIOR TO WORKING ON HYPERGLASS -->
|
||||
<!-- PLEASE CONSULT CONTRIBUTING POLICY PRIOR TO WORKING ON HYPERGLASS -->
|
||||
|
||||
<!-- Provide a general summary of your changes in the Title. -->
|
||||
|
||||
|
|
|
|||
|
|
@ -1,29 +1,18 @@
|
|||
hyperglass is primarily maintained by me, [Matt Love](https://github.com/thatmattlove). This is my first ever open source application, and as such, it's kind of my "baby". When I first started writing hyperglass, I knew _nothing_ about development, Python, Javascript, or Github. I was a network engineer trying to solve a problem and learn a few things while I was at it.
|
||||
hyperglass is primarily maintained by me, [Matt Love](https://github.com/thatmattlove). This was my first ever open source application, and as such, it's kind of my "baby". When I first started writing hyperglass, I knew _nothing_ about development, Python, JavaScript/TypeScript, or GitHub. I was a network engineer trying to solve a problem and learn a few things while I was at it.
|
||||
|
||||
Because I've been solo-maintaining and building hyperglass since around April 2019, I've become pretty particular about things that might seem trivial to someone just trying to help out. While I **absolutely welcome development contributions**, please don't be offended if pull requests are denied, or if I request things to be done a certain way. To help understand why, here are some of the development design goals for hyperglass:
|
||||
Because I've been solo-maintaining and building hyperglass since around April 2019, I've become pretty particular about things that might seem trivial to someone just trying to help out. While I welcome development contributions, please don't be offended if pull requests are denied, if I request things to be done a certain way, or if I integrate something similar to your changes separately from your PR. To help understand why, here are some of the development design goals for hyperglass:
|
||||
|
||||
- **Pristine code quality**
|
||||
- [Black](https://github.com/python/black) formatting for Python
|
||||
- Strict adherence to ESLint/Prettier configs for Javascript/React
|
||||
- _ZERO_ linting errors
|
||||
- [Black](https://github.com/python/black) formatting for Python.
|
||||
- Strict adherence to ESLint/Prettier configs for frontend code.
|
||||
- _ZERO_ linting errors.
|
||||
- Linting exceptions only used when there is _no other way_, and should be accompanied with comments about why there is no other way.
|
||||
- **No hard-coding**
|
||||
- Anything visible to the end-user _must_ be customizable by the administrator. If it's not, or can't be, leave code or PR comments as to why.
|
||||
- This includes things like timeouts, error messages, etc.
|
||||
- **Mobile & Accessible**
|
||||
- All UI element must be available on both desktop and mobile devices
|
||||
- UI must achieve a 100 Lighthouse/PageInsights score for accessibility
|
||||
- All UI element must be available on both desktop and mobile devices.
|
||||
- UI must achieve a 100 Lighthouse/PageInsights score for accessibility.
|
||||
- **IPv6 Support**
|
||||
- Any new device support must include IPv6 commands
|
||||
- All frontend and backend code must support IPv6, both for running the application and processing queries
|
||||
|
||||
## Branches
|
||||
|
||||
The following are the primary branches used for development and release management:
|
||||
|
||||
| Branch Name | Function |
|
||||
| :---------- | :--------------------- |
|
||||
| `main` | Tagged Stable Releases |
|
||||
| `develop` | Ongoing Development |
|
||||
|
||||
Pull requests should be made against the `develop` branch.
|
||||
- Any new device support must include IPv6 commands.
|
||||
- All frontend and backend code must support IPv6, both for running the application and processing queries.
|
||||
|
|
|
|||
2
LICENSE
2
LICENSE
|
|
@ -1,6 +1,6 @@
|
|||
The Clear BSD License
|
||||
|
||||
Copyright (c) 2021 Matthew Love
|
||||
Copyright (c) 2024 Matthew Love
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
|
|
|||
|
|
@ -21,11 +21,20 @@ CONSTANT_PATTERN = re.compile(r"^__version__\s\=\s\"(.+)\"$")
|
|||
UPGRADE_DOC = Path(__file__).parent / "docs" / "pages" / "installation" / "upgrading.mdx"
|
||||
UPGRADE_DOC_PATTERN = re.compile(r"^git\scheckout\sv(.+)$")
|
||||
|
||||
UPGRADE_GH_FEATURE = Path(__file__).parent / ".github" / "ISSUE_TEMPLATE" / "1-feature-request.yaml"
|
||||
UPGRADE_GH_FEATURE_PATTERN = re.compile(r"^[\s\t]+placeholder\:\sv(.+)$")
|
||||
|
||||
UPGRADE_GH_BUG = Path(__file__).parent / ".github" / "ISSUE_TEMPLATE" / "2-bug-report.yaml"
|
||||
|
||||
UPGRADE_GH_BUG_PATTERN = re.compile(r"^[\s\t]+placeholder\:\sv(.+)$")
|
||||
|
||||
UPGRADES = (
|
||||
("package.json", PACKAGE_JSON, PACKAGE_JSON_PATTERN),
|
||||
("pyproject.toml", PYPROJECT_TOML, PYPROJECT_PATTERN),
|
||||
("constants.py", CONSTANTS, CONSTANT_PATTERN),
|
||||
("upgrading.mdx", UPGRADE_DOC, UPGRADE_DOC_PATTERN),
|
||||
("1-feature-request.yaml", UPGRADE_GH_FEATURE, UPGRADE_GH_FEATURE_PATTERN),
|
||||
("2-bug-report.yaml", UPGRADE_GH_BUG, UPGRADE_GH_BUG_PATTERN),
|
||||
)
|
||||
|
||||
cli = typer.Typer(name="version", no_args_is_help=True)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue