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)
Cluster Frontend
基于 React + TypeScript + Zustand + MUI 的前端项目。
技术栈
- React 18 - UI 框架
- TypeScript - 类型系统
- Vite - 构建工具
- Zustand - 状态管理
- Material-UI (MUI) - UI 组件库
开发
安装依赖
npm install
# 或
yarn install
# 或
pnpm install
启动开发服务器
npm run dev
# 或
yarn dev
# 或
pnpm dev
开发服务器将在 http://localhost:3000 启动。
构建生产版本
npm run build
# 或
yarn build
# 或
pnpm build
预览生产构建
npm run preview
# 或
yarn preview
# 或
pnpm preview
项目结构
frontend/
├── src/
│ ├── stores/ # Zustand 状态管理
│ ├── components/ # React 组件
│ ├── theme.ts # MUI 主题配置
│ ├── App.tsx # 主应用组件
│ └── main.tsx # 应用入口
├── public/ # 静态资源
├── index.html # HTML 模板
├── vite.config.ts # Vite 配置
└── tsconfig.json # TypeScript 配置
API 代理
开发环境已配置 API 代理,所有 /api/* 请求会被代理到 http://localhost:8080(Go 后端服务)。
配置位置:vite.config.ts