Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Echo-Note/infra-hub

Repository files navigation

Infra-hub

Python Version Django Version License

项目简介

Infra-hub 是一个基于 xadmin 二次开发的虚拟化平台主机管理系统,专注于 VMware vSphere/vCenter 环境的统一管理和自动化运维。

核心特性

  • 🎯 虚拟化平台管理:支持 vCenter/ESXi 的统一接入和管理
  • 🖥️ 主机资源管理:ESXi 主机的监控、配置和维护
  • 💻 虚拟机管理:虚拟机的创建、配置、快照和生命周期管理
  • 💾 存储管理:数据存储的监控和容量管理
  • 📊 资源监控:实时采集和展示性能指标
  • 🔐 权限控制:基于 RBAC 的细粒度权限管理
  • 🔒 安全加密:敏感信息(密码、密钥)自动加密存储

技术架构

  • 后端框架:Django 5.2 + Django REST Framework
  • 数据库:MySQL/PostgreSQL(支持 TimescaleDB 时序扩展)
  • 任务队列:Celery + Redis
  • 虚拟化接口:PyVmomi(vSphere API)
  • 权限系统:基于 xadmin 的 RBAC
  • 包管理:uv(高性能 Python 包管理器)

快速开始

环境要求

  • Python 3.12+
  • Redis 5.0+
  • MySQL 8.0+ / PostgreSQL 12+
  • uv(推荐)

一键安装

# 克隆项目
git clone https://github.com/Echo-Note/Infra-hub.git
cd Infra-hub
# 自动安装依赖和配置开发环境
./setup-dev.sh
# 配置数据库连接
cp config_example.yml config.yml
vim config.yml
# 初始化数据库
python manage.py migrate
# 启动服务
python manage.py start all -d

更多安装和部署细节,请参考 安装指南

文档导航

用户文档

开发文档

权限管理

工具和规范

项目结构

Infra-hub/
├── apps/ # 应用模块
│ ├── virt_center/ # 虚拟化中心(核心模块)
│ │ ├── models/ # 数据模型
│ │ ├── views/ # 视图控制器
│ │ ├── serializers/ # 序列化器
│ │ └── utils/ # 工具类(vSphere 客户端)
│ ├── common/ # 公共模块
│ │ ├── utils/ # 工具函数(加密、缓存等)
│ │ └── fields/ # 自定义字段(加密字段)
│ └── system/ # 系统管理(用户、权限)
├── server/ # 项目配置
├── docs/ # 文档
└── manage.py # Django 管理脚本

贡献指南

欢迎提交 Issue 和 Pull Request 来帮助改进项目!

在提交 PR 前,请确保:

  • 代码通过所有 pre-commit 检查
  • 添加了必要的测试
  • 更新了相关文档

详细的贡献指南请参考 CONTRIBUTING.md

致谢

  • 感谢 xadmin-server 提供的优秀 RBAC 权限管理框架
  • 感谢 VMware 提供的 PyVmomi Python SDK

License

本项目遵循原项目的开源协议。

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

Languages

AltStyle によって変換されたページ (->オリジナル) /