Skip to content

Commit

Permalink
housekeeping
Browse files Browse the repository at this point in the history
  • Loading branch information
thatmattlove committed Jun 2, 2024
1 parent 3d82a21 commit f324d34
Show file tree
Hide file tree
Showing 10 changed files with 171 additions and 143 deletions.
30 changes: 0 additions & 30 deletions .github/ISSUE_TEMPLATE/1-feature-request.md

This file was deleted.

49 changes: 49 additions & 0 deletions .github/ISSUE_TEMPLATE/1-feature-request.yaml
Original file line number Diff line number Diff line change
@@ -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 changes: 0 additions & 64 deletions .github/ISSUE_TEMPLATE/2-bug-report.md

This file was deleted.

98 changes: 98 additions & 0 deletions .github/ISSUE_TEMPLATE/2-bug-report.yaml
Original file line number Diff line number Diff line change
@@ -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 changes: 0 additions & 27 deletions .github/ISSUE_TEMPLATE/3-new-nos.yaml

This file was deleted.

4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -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 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -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. -->

Expand Down
29 changes: 9 additions & 20 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -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 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -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
Expand Down
9 changes: 9 additions & 0 deletions version.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,20 @@
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)
Expand Down

0 comments on commit f324d34

Please sign in to comment.