The API information is now documented in README.md and CLAUDE.md. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Harbor 批量管理工具
Harbor容器镜像仓库的批量用户和项目管理工具集合。
功能概述
- 用户批量注册 - 从Excel文件批量创建Harbor用户
- 用户批量删除 - 删除用户及其所有关联资源(项目、仓库)
- 项目批量删除 - 专门删除学生项目(stu01~stu49)
安装依赖
# 激活虚拟环境(如果有)
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
使用说明
1. 用户批量注册 (register.py
)
从Excel文件批量创建Harbor用户。
python register.py
Excel文件格式要求(users.xlsx
):
- 第1行:标题行(会被跳过)
- 第1列:用户名 (username)
- 第2列:真实姓名 (realname)
- 第3列:密码 (password)
- 第5列:邮箱地址 (email)
2. 用户批量删除 (delete_users.py
)
删除Excel文件中列出的用户及其所有资源。
python delete_users.py
删除顺序:
- 删除用户拥有的所有仓库
- 删除用户拥有的所有项目
- 删除用户账户
3. 学生项目删除 (delete_projects.py
)
专门删除以stu01~stu49开头的项目和仓库。
python delete_projects.py
功能特点:
- 精确匹配stu01到stu49开头的项目
- 支持预览模式(查看但不删除)
- 安全确认机制(需输入'DELETE'确认)
配置说明
Harbor服务器配置
默认配置在各脚本中:
HARBOR_URL = "https://harbor.seahi.me"
API_BASE = f"{HARBOR_URL}/api/v2.0"
认证方式
所有脚本使用HTTP Basic认证,运行时会提示输入Harbor管理员账号密码。
安全提醒
⚠️ 重要安全提醒
- 所有删除操作都是不可逆的
- 删除用户会同时删除其所有项目和仓库
- 建议在生产环境使用前先在测试环境验证
- Excel文件可能包含敏感信息,已被git忽略
技术细节
- 分页支持:自动处理Harbor API分页,确保获取所有数据
- 错误处理:完善的异常处理和用户反馈
- 资源依赖:正确处理Harbor资源删除顺序
- SSL警告:已禁用不安全HTTPS连接警告
API兼容性
基于Harbor API v2.0开发,支持的主要端点:
GET /users
- 获取用户列表POST /users
- 创建用户DELETE /users/{user_id}
- 删除用户GET /projects
- 获取项目列表DELETE /projects/{project_name}
- 删除项目GET /projects/{project_name}/repositories
- 获取仓库列表DELETE /projects/{project_name}/repositories/{repository_name}
- 删除仓库
项目结构
├── README.md # 项目说明文档
├── CLAUDE.md # Claude Code工作指南
├── requirements.txt # Python依赖
├── register.py # 用户批量注册
├── delete_users.py # 用户批量删除
├── delete_projects.py # 学生项目删除
├── users.xlsx # Excel数据文件(被git忽略)
└── venv/ # Python虚拟环境(被git忽略)
许可证
此项目仅供内部使用。
Description
Languages
Python
100%