Giter Club home page Giter Club logo

dn42-peers's People

Contributors

hawkins-sherpherd avatar hrrrsn avatar imlonghao avatar jvoss avatar kronenpj avatar mr-ljj avatar radianexus avatar strykar avatar yzguy avatar

Watchers

 avatar  avatar

dn42-peers's Issues

Form via Issue Template for Peering Request

Look into if it's possible to have a issue template that is a form, then we can intake peering requests via that form right to a GitHub issue.

Additionally, we can either copy/submit responses to the Google form via the GitHub form or deprecate the Google form in favor of the GitHub form

https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms

We might be able to have a "form" per peering type, so when user selects New Issue they can then select the appropriate one

Link-Local IPv6 BGP Peer must be unique per router

Every BGP neighbor must have a unique Link-Local IPv6 address (when using link-local) otherwise it will produce a configuration error:

ValueError: Failed to parse config: Node "bgp neighbor" has two children named "fe80::100"

We should update the documentation to reflect this.

Update linter to not allow prefix notation for `ipv4` or `ipv6` fields

The base automation repository fixes this situation. However the ipv4 or ipv6 key should never be in prefix notation (i.e. 192.168.1.0/24) and always be just an IP address (192.168.1.0).

Note that the key local_ipv6 should accept a prefix notation as that is an override that allows for a different subnet/static route configuration. This may be confusing other users, however the linter can correct for this.

Create peer validation script

Create a "linting" script to verify proper peer syntax and rules for PR requests.

This script should be triggered when pull requests are open to help verify proper configuration.

Add validation to ensure DNS actually resolves

When using a DNS name for a peer's endpoint, we end up resolving it to an IP when deploying. We should have a validation that checks if the DNS name provided actually resolves to a valid AAAA (preferred) or A record.

Script to Generator Peering Data

It would be helpful to have a script that asks what router, what type of peering request, then based off that other questions for that type, then finally write it out to the appropriate router file

### New Peering ###
Router: router.gru1

1. Multi-protocol (IPv4/IPv6) with Extended Nexthop Capability 
2. Multi-protocol (IPv4/IPv6)
3. IPv4 and IPv6 in separate sessions
4. IPv4 Only
5. IPv6 Only

Type of peering: 5

Name: PEER-GRU
ASN: 123456
...

It could output the data to the screen too, as well as maybe a email template

Send follow up email via GitHub Actions manual job

We generally send a follow up email after a peering is merged+deployed, this has been copy+paste+modify from previous emails, but it's essentially a template

It would be super useful to have a GitHub actions job for this repo that we can manually run that takes an email (marks it as a secret to not reveal it), renders a template based on the files changes or even if we have to manually specify the routers.

We would need a SMTP service that we can use, ideally for free to send these emails.

https://github.com/marketplace/actions/send-email

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.