Files
cluster/frontend
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
..

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:8080Go 后端服务)。

配置位置:vite.config.ts