semi implemented and features implemented save checkpoint

This commit is contained in:
master
2026-02-08 18:00:49 +02:00
parent 04360dff63
commit 1bf6bbf395
20895 changed files with 716795 additions and 64 deletions

View File

@@ -0,0 +1,43 @@
# 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)