Files
master ea5942fa1b Ship 7 remaining journey fixes: Harbor data, scan timeout, permissions,
flicker, pack creation, export tooltip, audit guidance

Sprint A: Harbor fixture now returns realistic search results (7 repos)
  and artifact digests (3 versions with tags). Release creation wizard
  Step 2 now shows actual images to select.

Sprint B: Scan polling caps at 60 polls (3 min). Shows timeout banner
  with guidance link to Scheduled Jobs and "Keep Waiting" button.

Sprint C: /console/profile route now renders InsufficientPermissions
  component instead of 404. Shows user/tenant, guidance, and nav links.
  Catches all 24 guard redirect dead-ends.

Sprint D: Event stream chip no longer flickers DEGRADED during context
  reloads. Loading state treated as connected (transient, not error).

Sprint E: Policy Packs empty state now has inline Create Pack form.
  Calls existing PolicyApiService.createPack() backend endpoint.

Sprint F: Diagnostics Export button shows disabled tooltip "Run a
  diagnostic check first" when no results available.

Sprint G: Audit Log shows guidance text when all module counts are 0.
  Lists automatically captured event types. Confirms audit is active.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 23:00:20 +02:00

28 lines
2.8 KiB
Plaintext

server {
listen 80;
server_name harbor-fixture.stella-ops.local;
location = /api/v2.0/health {
default_type application/json;
add_header X-Harbor-Version 2.10.0 always;
return 200 '{"status":"healthy","components":[{"name":"core","status":"healthy"},{"name":"jobservice","status":"healthy"},{"name":"registry","status":"healthy"}]}';
}
location ~ ^/api/v2\.0/search {
default_type application/json;
add_header X-Harbor-Version 2.10.0 always;
return 200 '{"repository":[{"repository_name":"stellaops/platform","project_name":"stellaops","project_public":true,"pull_count":142,"artifact_count":8},{"repository_name":"stellaops/scanner","project_name":"stellaops","project_public":true,"pull_count":89,"artifact_count":5},{"repository_name":"stellaops/console","project_name":"stellaops","project_public":true,"pull_count":203,"artifact_count":12},{"repository_name":"stellaops/gateway","project_name":"stellaops","project_public":true,"pull_count":178,"artifact_count":9},{"repository_name":"stellaops/concelier","project_name":"stellaops","project_public":true,"pull_count":67,"artifact_count":4},{"repository_name":"stellaops/jobengine","project_name":"stellaops","project_public":true,"pull_count":95,"artifact_count":6},{"repository_name":"stellaops/timeline","project_name":"stellaops","project_public":true,"pull_count":54,"artifact_count":3}]}';
}
location ~ ^/api/v2\.0/projects/.*/repositories/.*/artifacts {
default_type application/json;
add_header X-Harbor-Version 2.10.0 always;
return 200 '[{"digest":"sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4","tags":[{"name":"dev","push_time":"2026-03-16T10:30:00.000Z","pull_time":"2026-03-16T14:22:00.000Z"},{"name":"latest","push_time":"2026-03-16T10:30:00.000Z","pull_time":"2026-03-16T15:01:00.000Z"}],"push_time":"2026-03-16T10:30:00.000Z","size":28456789,"type":"IMAGE","scan_overview":{"application/vnd.security.vulnerability.report; version=1.1":{"severity":"Medium","complete_percent":100}}},{"digest":"sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","tags":[{"name":"v1.0.0","push_time":"2026-03-15T08:00:00.000Z","pull_time":"2026-03-15T12:45:00.000Z"}],"push_time":"2026-03-15T08:00:00.000Z","size":31234567,"type":"IMAGE","scan_overview":{"application/vnd.security.vulnerability.report; version=1.1":{"severity":"Low","complete_percent":100}}},{"digest":"sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef","tags":[{"name":"v0.9.0","push_time":"2026-03-10T15:00:00.000Z","pull_time":"2026-03-12T09:30:00.000Z"}],"push_time":"2026-03-10T15:00:00.000Z","size":27891234,"type":"IMAGE"}]';
}
location / {
default_type text/plain;
return 200 'Stella Ops QA Harbor fixture';
}
}