Backend fixes:
- instance_dto: add Version field with Normalize() to support both 'version'
and 'tag' field names from frontend
- instance_handler: add version empty validation before creating instance
- authz.go: fix unused variable compilation error
- registry_repository: fix GetByID/GetByName to use correct DB schema
(add workspace_id, owner_id, is_shared fields); decrypt password
gracefully when encryption key mismatches instead of returning error
Frontend:
- charts/page: add Template and Storage dropdown selectors to Deploy Modal
Testing:
- add e2e_test.py: 5-step Playwright E2E test (admin login → create
workspace → create user → user login → deploy chart)
- add tasks/lesson.md: document 4 bug root causes and fixes
- add tasks/todo.md: track implementation progress
- add PLAN_E2E_DEPLOYMENT.md: comprehensive implementation plan
Verification: confirmed deployment creates instance with status=deployed,
chart downloads from Harbor OCI to /tmp/charts/, Helm release deploys to K8s
- Add localhost to ALLOWED_DEV_ORIGINS in backend/docker-compose.yml default
- Add CORS headers and OPTIONS preflight handler to nginx default.conf
- Fix CSP header for API location block
Add new frontend pages for the multi-tenant OCDP platform:
- Charts page (/charts): Browse Harbor OCI registries to list Helm chart repositories
and versions, with deploy modal to launch charts on selected clusters
- Monitoring page (/monitoring): Display cluster metrics (CPU/Memory/GPU usage)
and per-node details with resource utilization bars
- Chart References page (/chart-references): CRUD for chart metadata references
- Values Templates page (/templates): CRUD for Helm values templates with version
history and rollback support
- Sidebar: Add Charts navigation, update Storage and Templates links
- api.ts: Add all API client functions (clusterApi, registryApi, instanceApi,
monitoringApi, storageApi, chartReferenceApi, valuesTemplateApi,
workspaceApi, userApi) with full TypeScript types
Note: deploy flow and values template rollback not yet end-to-end tested.