Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds support for Internet Exchange Point (IXP) connections to the system by introducing IX templates and related connection fields.
Changes:
- Added IX template configuration structure with name and peering LAN addresses (IPv4/IPv6)
- Extended Connection entity with IX-specific fields (IX name, peer type, VLAN ID, link addresses)
- Updated seed data to include test service and connection examples
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/api/core/tool/config/config.go | Added IXTemplate struct to configuration |
| pkg/api/core/template/interface.go | Added IX field to Result and ResultAdmin structs |
| pkg/api/core/template/v0/template.go | Included IX templates in user API response |
| pkg/api/core/template/v0/admin.go | Included IX templates in admin API response |
| pkg/api/core/interface.go | Added IX-related fields to Connection struct |
| pkg/api/core/group/connection/interface.go | Added IX fields to Input and Connection interfaces |
| pkg/api/core/group/connection/v0/connection.go | Added IX field population and refactored validation logic |
| pkg/api/core/group/connection/v0/admin.go | Added IX field population and wrapped internet validation in conditional |
| pkg/api/core/tool/seed/seed.go | Added test service and connection creation functions |
| configs/config.json | Added IXP connection template and IX peering configurations |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| IX: input.IX, | ||
| IXPeerType: input.IXPeerType, | ||
| IXVlanID: input.IXVlanID, | ||
| LinkV4Your: input.LinkV4Your, | ||
| LinkV6Your: input.LinkV6Your, |
There was a problem hiding this comment.
The new IX-related fields (IX, IXPeerType, IXVlanID, LinkV4Your, LinkV6Your) are added without validation. Consider adding validation logic to ensure these fields are properly set when the connection type is 'IXP', similar to how NTT and PreferredAP are validated for internet connections.
| IX: input.IX, | ||
| IXPeerType: input.IXPeerType, | ||
| IXVlanID: input.IXVlanID, | ||
| LinkV4Your: input.LinkV4Your, | ||
| LinkV6Your: input.LinkV6Your, |
There was a problem hiding this comment.
The new IX-related fields are added without validation. Consider adding validation to ensure IX name is valid (matches configured IX templates) and that IXVlanID is provided when IXPeerType indicates PC/CUG, similar to the internet connection validation pattern.
No description provided.