Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for VRF features #268

Closed
displague opened this issue May 18, 2023 · 1 comment · Fixed by #377
Closed

Add support for VRF features #268

displague opened this issue May 18, 2023 · 1 comment · Fixed by #377
Labels
enhancement New feature or request

Comments

@displague
Copy link
Member

displague commented May 18, 2023

What problem are you facing?

VRF features are being added to the IP, Gateway, and Virtual Circuit resources in the Equinix Metal API.
https://deploy.equinix.com/developers/docs/metal/interconnections/vrf/

There is no way to access these features in the Metal CLI today.

How could the Equinix Metal CLI help solve this problem?

The existing metal gateway and metal ip action groups should learn new actions and add relevant fields based on VRF capabilities.

Packngo support for VRF was initially added here: equinixmetal-archive/packngo#325

Metal Go support is present (and more current than packngo's support): https://github.com/search?q=repo%3Aequinix-labs%2Fmetal-go%20vrf&type=code

Examples of how this could be implemented are in @goldenprifti's Equinix Metal VRF CLI gist here: https://gist.github.com/goldenprifti/850fa74cb08c23b4e3ebac2b01746bab

These features should also be added to a metal interconnection action group (which does not exist today #307).

@displague displague added the enhancement New feature or request label May 18, 2023
@displague
Copy link
Member Author

Here's an example of some of the commands that will be needed to support the new /vrfs API endpoint (https://github.com/equinix-labs/metal-go/blob/main/docs/VRFsApi.md):

metal vrf create --project-id {project}
metal vrf delete --id {id}
metal vrf list --project-id {project}
metal vrf get --id {id} # same as list, but id is specified. similar to other get/list actions
metal vrf update --id {id}
metal routes create --vrf-id {vrf}
metal routes update --id {id}
metal routes get --id {id}
metal routes delete --id {id}

In addition to the new arguments for ips and gateways, for full VRF coverage, we'll also need new commands around metal interconnection and metal virtual-circuit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
1 participant