Commit Graph

9 Commits

Author SHA1 Message Date
loveuer
23add6447d fix: clean managedFields and metadata from resource YAML to prevent update conflicts 2025-11-13 11:40:36 +08:00
loveuer
529a90b80d feat: add resource edit functionality for k8s resources
- 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]
2025-11-13 09:25:41 +08:00
loveuer
7d2e2ab842 feat: improve k8s resource filtering UI
- 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]
2025-11-12 23:26:52 +08:00
loveuer
54ed79cea3 feat: add pod logs and delete operations
- 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]
2025-11-12 23:05:32 +08:00
loveuer
db28bc0425 feat: add k8s cluster resource management module
- 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]
2025-11-12 21:06:14 +08:00
loveuer
dfb6fb7624 feat: add backend image filter with debounced search
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]
2025-11-12 10:57:25 +08:00
loveuer
01cfb2ede1 feat: add image fetch with proxy support and registry proxy config
Backend:
- Add image fetch handler using go-containerregistry
- Support HTTP/HTTPS and SOCKS5 proxy protocols
- Pull images from remote registries (Docker Hub, etc.)
- Store fetched images as blobs and manifests
- Add timeout handling (60s for descriptor fetch)
- Add detailed logging for pull progress
- Add /api/v1/registry/image/fetch endpoint

Frontend:
- Add registry proxy configuration field
- Add "获取镜像" button and dialog
- Add proxy checkbox and input in fetch dialog
- Add LinearProgress feedback during fetch
- Add multi-stage Snackbar notifications
- Auto-refresh image list after successful fetch
- Fix download filename regex (remove trailing quote)
- Adjust button colors for better UI consistency

Dependencies:
- Add github.com/google/go-containerregistry for OCI operations
- Add golang.org/x/net/proxy for SOCKS5 support

🤖 Generated with [Qoder](https://qoder.com)
2025-11-10 22:27:03 +08:00
loveuer
9780a2b028 feat: add registry config, image upload/download, and OCI format support
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)
2025-11-10 16:28:58 +08:00
loveuer
29088a6b54 feat: complete OCI registry implementation with docker push/pull support
A lightweight OCI (Open Container Initiative) registry implementation written in Go.
2025-11-09 22:50:13 +08:00