2.5 KiB
2.5 KiB
Feed Mirror & AirGap Ops UI
Module
Web
Status
IMPLEMENTED
Description
Feed mirror ops UI with mirror registry list, snapshot management, AirGap import/export with bundle validation, feed version lock for deterministic scans, offline sync status, and bundle freshness warnings.
Implementation Details
- Feature directory:
src/Web/StellaOps.Web/src/app/features/feed-mirror/ - Routes:
feed-mirror.routes.ts - Components:
airgap-export(src/Web/StellaOps.Web/src/app/features/feed-mirror/airgap-export.component.ts)airgap-import(src/Web/StellaOps.Web/src/app/features/feed-mirror/airgap-import.component.ts)feed-mirror-dashboard(src/Web/StellaOps.Web/src/app/features/feed-mirror/feed-mirror-dashboard.component.ts)feed-mirror(src/Web/StellaOps.Web/src/app/features/feed-mirror/feed-mirror.component.ts)feed-version-lock(src/Web/StellaOps.Web/src/app/features/feed-mirror/feed-version-lock.component.ts)freshness-warnings(src/Web/StellaOps.Web/src/app/features/feed-mirror/freshness-warnings.component.ts)mirror-detail(src/Web/StellaOps.Web/src/app/features/feed-mirror/mirror-detail.component.ts)mirror-list(src/Web/StellaOps.Web/src/app/features/feed-mirror/mirror-list.component.ts)offline-sync-status(src/Web/StellaOps.Web/src/app/features/feed-mirror/offline-sync-status.component.ts)snapshot-actions(src/Web/StellaOps.Web/src/app/features/feed-mirror/snapshot-actions.component.ts)snapshot-selector(src/Web/StellaOps.Web/src/app/features/feed-mirror/snapshot-selector.component.ts)sync-status-indicator(src/Web/StellaOps.Web/src/app/features/feed-mirror/sync-status-indicator.component.ts)version-lock(src/Web/StellaOps.Web/src/app/features/feed-mirror/version-lock.component.ts)
- Source: SPRINT_20251229_020_FE_feed_mirror_airgap_ops_ui
E2E Test Plan
- Setup:
- Log in with a user that has appropriate permissions
- Navigate to
/ops/feeds - Ensure test data exists (scanned artifacts, SBOM data, or seed data as needed)
- Core verification:
- Verify the component renders correctly with sample data
- Verify interactive elements respond to user input
- Verify data is fetched and displayed from the correct API endpoints
- Edge cases:
- Verify graceful handling when backend API is unavailable (error state)
- Verify responsive layout at different viewport sizes
- Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes)