-
Notifications
You must be signed in to change notification settings - Fork 12
Closed
Description
Parent Epic
Part of #71 (Network Interface Visualization and Connectivity)
Summary
Expand the existing Interface type to a full InterfaceTemplate with NetBox-compatible fields and Rackula extensions for visual positioning.
Acceptance Criteria
- Create
InterfaceTypeenum with common interface types (1000base-t, 10gbase-x-sfpp, etc.) - Expand
InterfaceTemplatewith fields: name, type, label, mgmt_only, position, poe_mode, poe_type - Add
PoETypeenum for PoE standards - Update Zod schema with
InterfaceTemplateSchema - Ensure backward compatibility (empty interfaces array is valid)
- Update TypeScript exports in types/index.ts
Technical Notes
type InterfaceType =
| '1000base-t' // 1GbE RJ45
| '10gbase-t' // 10GbE RJ45
| '10gbase-x-sfpp' // 10GbE SFP+
| '25gbase-x-sfp28' // 25GbE SFP28
| '40gbase-x-qsfpp' // 40GbE QSFP+
| '100gbase-x-qsfp28' // 100GbE QSFP28
| 'console'
| 'management';
interface InterfaceTemplate {
name: string;
type: InterfaceType;
label?: string;
mgmt_only?: boolean;
position?: 'front' | 'rear';
poe_mode?: 'pd' | 'pse';
poe_type?: PoEType;
}References
- Spike research: spike: Network interface visualization research #237, PR docs: network interface visualization spike research (#237) #242
- NetBox interface types:
docs/research/netbox-interface-cable-schema.md