- Move ORM models from internal/model to pkg/model organized by module (auth/k8s/registry)
- Add authentication module with login, user management handlers
- Update all import paths to use new model locations
- Add frontend auth pages (Login, UserManagement) and authStore
- Remove deprecated internal/model/model.go
- Updated github.com/gofiber/fiber/v3 from beta.2 to rc.2
- Updated k8s.io dependencies
- Updated other indirect dependencies
🤖 Generated with [Qoder][https://qoder.com]
- Fixed SSE connection not being properly closed when pod logs dialog is closed
- Added proper cleanup for EventSource connections in K8sResourceList.tsx
- Added debugging logs to track SSE connection lifecycle
- Optimized Dockerfile to avoid copying frontend files during Go build stage
- Fixed backend handler to properly use context from request for log streaming
🤖 Generated with [Qoder][https://qoder.com]
- Add edit button for Deployment, StatefulSet, Service, and ConfigMap resources
- Implement resource fetch API to get YAML representation
- Implement resource update API to apply edited YAML
- Add edit dialog with YAML editor and apply/cancel buttons
- Add tooltip icons for better UX
- Restore K8sResourceApply function with HTTP/1.1 enforcement
- Support for fetching and updating the following resource kinds:
- Deployment
- StatefulSet
- Service
- ConfigMap
🤖 Generated with [Qoder][https://qoder.com]
- Change namespace filter from text input to dropdown select
- Add name filtering input for all resource types
- Fix UI overlap issue with namespace dropdown label
- Add automatic namespace list loading
- Implement server-side name filtering for all resources
- Support combined namespace + name filtering
🤖 Generated with [Qoder][https://qoder.com]
- Add pod logs button with SSE streaming (WIP: SSE connection issues with HTTP/2)
- Add pod delete button with confirmation dialog
- Use existing resp.SSE package for log streaming
- Force HTTP/1.1 for k8s client to avoid stream closing issues
- Update frontend to handle pod actions and dialogs
🤖 Generated with [Qoder][https://qoder.com]
- Add K8s module with kubeconfig storage in cluster_config table
- Implement resource list APIs for 8 kinds: namespace, deployment, statefulset, service, configmap, pod, pv, pvc
- Add K8sResourceList page with sidebar navigation and resource tables
- Support YAML upload/input dialog for resource creation via dynamic client
- Add kubeconfig settings drawer
- Increase main content width from lg to xl for better table display
- Add navigation link for cluster resources in top bar
🤖 Generated with [Qoder][https://qoder.com]
Backend:
- Add filter query parameter to /api/v1/registry/image/list
- Filter repositories by name using SQL LIKE query
Frontend:
- Add filter input field above image list table
- Implement 300ms debounce to reduce backend requests
- Use AbortController to cancel pending requests
- Show appropriate message when no images match filter
🤖 Generated with [Qoder][https://qoder.com]
Backend:
- Add registry_address configuration API (GET/POST)
- Add tar image upload with OCI and Docker format support
- Add image download with streaming optimization
- Fix blob download using c.Send (Fiber v3 SendStream bug)
- Add registry_address prefix stripping for all OCI v2 endpoints
- Add AGENTS.md for project documentation
Frontend:
- Add settings store with Snackbar notifications
- Add image upload dialog with progress bar
- Add download state tracking with multi-stage feedback
- Replace alert() with MUI Snackbar messages
- Display image names without registry_address prefix
🤖 Generated with [Qoder](https://qoder.com)