Skip to content

feat: network interface visualization and connectivity #71

@ggfevans

Description

@ggfevans

📋 Migrated from rackarr/rackarr#93
Originally created by @ggfevans on 2025-12-18


Epic: Network Interface Visualization & Connectivity

Visualize network interfaces on device types and track connections between devices.

Status

Research complete — Spike #237 completed (PR #242). Implementation ready to begin.

Child Issues

Research (Complete)

Phase 1: Interface Display

Phase 2: Port Details

Phase 3: Cable Connections

Phase 4: Advanced Features (v1.0.0+)

Cross-Cutting

Key Decisions from Spike

  1. Port Indicators: SVG circles on device faces, color-coded by type
  2. High-Density: Group ports into badges when >24 ports
  3. Click Handling: foreignObject overlays for reliable events
  4. NetBox Compatibility: Use NetBox field names for interoperability
  5. Progressive Disclosure: Overview → detail on hover/zoom/click

Technical Notes

Schema already supports interfaces array in DeviceType:

interfaces: z.array(InterfaceSchema).optional()

Interface schema includes:

  • name: Port identifier
  • type: Interface type (e.g., "1000base-t")
  • mgmt_only: Management-only flag

Spike research produced:

  • docs/research/spike-237-network-interface-visualization.md
  • docs/research/prototype-port-indicators.svelte
  • docs/research/netbox-interface-cable-schema.md

Acceptance Criteria

Phase 1

  • Research and design complete (spike spike: Network interface visualization research #237)
  • Device faces render interface port indicators
  • Hovering a port shows interface name and type
  • 48+ port devices render without performance issues
  • Interfaces exported correctly in SVG/PDF

Phase 2

  • Users can view/edit interfaces on device types
  • NetBox YAML can be imported
  • Starter library devices have interface data

Phase 3

  • Connections persist in .Rackula.zip archives
  • Connection lines/curves visible in rack view
  • Invalid connections (type mismatch) show warning
  • Connections exported to CSV include cable info

Phase 4

  • Patch panels support pass-through tracing
  • Power and console ports visualized
  • Multi-rack cables supported
  • NetBox sync functional

Updated 2025-12-29 after spike completion

Metadata

Metadata

Assignees

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions