2023-09-11 09:01:43 +00:00
|
|
|
|
|
2023-10-11 09:09:54 +00:00
|
|
|
|
# cli
|
|
|
|
|
## apphub
|
2023-10-11 09:38:28 +00:00
|
|
|
|
```
|
2023-10-11 09:09:54 +00:00
|
|
|
|
Usage: apphub [OPTIONS] COMMAND [ARGS]...
|
|
|
|
|
|
|
|
|
|
Options:
|
|
|
|
|
--help Show this message and exit.
|
|
|
|
|
|
|
|
|
|
Commands:
|
|
|
|
|
genkey Generate a new API key
|
|
|
|
|
getconfig Get a config value
|
|
|
|
|
setconfig Set a config value
|
2023-10-11 09:38:28 +00:00
|
|
|
|
```
|
2023-09-11 09:01:43 +00:00
|
|
|
|
|
|
|
|
|
# 项目结构
|
|
|
|
|
## src
|
|
|
|
|
- src
|
|
|
|
|
- main.py # 主程序入口
|
|
|
|
|
- api # API路由和端点相关的代码(对外发布的API)
|
|
|
|
|
- v1 # 版本1的API路由和端点代码
|
|
|
|
|
- routers # 版本1的所有路由器
|
|
|
|
|
- app.py # 应用相关的路由和端点代码
|
|
|
|
|
- @router.get("/apps/") # 获取所有应用的列表
|
|
|
|
|
- @router.post("/apps/install") # 安装新的应用
|
|
|
|
|
- @router.post("/apps/{app_id}/start") # 启动指定ID的应用
|
|
|
|
|
- @router.post("/apps/{app_id}/stop") # 停止指定ID的应用
|
|
|
|
|
- @router.post("/apps/{app_id}/restart") # 重启指定ID的应用
|
|
|
|
|
- @router.post("/apps/{app_id}/redeploy") # 重新部署指定ID的应用
|
|
|
|
|
- @router.delete("/apps/{app_id}/uninstall") # 卸载指定ID的应用
|
|
|
|
|
- settings.py # 配置相关的路由和端点代码
|
|
|
|
|
- @router.get("/settings") # 获取当前的设置
|
|
|
|
|
- @router.put("/settings") # 更新当前的设置
|
|
|
|
|
- proxy.py
|
|
|
|
|
- @router.get("/proxy/{app_id}") # 获取指定应用的代理信息
|
|
|
|
|
- @router.post("/proxy/{app_id}") # 为指定的应用创建一个新的代理
|
|
|
|
|
- @router.put("/proxy/{app_id}") # 更新指定应用的代理信息
|
|
|
|
|
- @router.delete("/proxy/{app_id}") # 删除指定应用的代理
|
|
|
|
|
- v2 # 版本2的API路由和端点代码
|
|
|
|
|
- config # 项目的配置代码,例如环境变量、常量等
|
|
|
|
|
- system.ini # 系统级别的配置
|
|
|
|
|
- config.ini # 应用级别的配置
|
|
|
|
|
- core # 项目的核心代码
|
|
|
|
|
- api_key.py # 处理API密钥的模块
|
2023-09-11 09:08:43 +00:00
|
|
|
|
- config.py
|
2023-09-11 09:01:43 +00:00
|
|
|
|
- config.get_value() # 获取配置值
|
|
|
|
|
- config.set_value() # 设置配置值
|
|
|
|
|
- config.remove_value() # 删除配置值
|
|
|
|
|
- config.remove_section() # 删除配置的一个区块
|
|
|
|
|
- logger.py # 日志处理模块
|
|
|
|
|
-logger.access() # 记录访问日志
|
|
|
|
|
-logger.error() # 记录错误日志
|
|
|
|
|
- external # 与外部系统交互的代码(第三方API)
|
|
|
|
|
- gitea_api.py # Gitea交互的API调用代码
|
|
|
|
|
|
|
|
|
|
- nginx_proxy_manager_api.py # Nginx Proxy Manager交互的API调用代码
|
|
|
|
|
- get_token() # 获取访问Nginx Proxy Manager API的令牌
|
|
|
|
|
- get_proxy_hosts() # 获取所有的代理主机列表
|
|
|
|
|
- create_proxy_host() # 创建一个新的代理主机
|
|
|
|
|
- update_proxy_host() # 更新一个已存在的代理主机
|
|
|
|
|
- delete_proxy_host() # 删除一个已存在的代理主机
|
|
|
|
|
- portainer_api.py # Portainer交互的API调用代码
|
|
|
|
|
|
|
|
|
|
- schemas # 存放Pydantic模型定义,用于请求和响应的数据验证
|
|
|
|
|
- appInstall.py # 定义与应用安装相关的请求和响应模型
|
|
|
|
|
- proxy.py
|
|
|
|
|
- services # 存放服务层的代码,处理业务逻辑
|
|
|
|
|
- app_manager.py # 处理应用管理相关的业务逻辑,如应用的查询、创建、卸载、启动、停止、重启、重建等
|
|
|
|
|
- get_app() # 查询应用
|
|
|
|
|
- install_app() # 创建新的应用
|
|
|
|
|
- uninstall_app() # 卸载已存在的应用
|
|
|
|
|
- start_app() # 启动已存在的应用
|
|
|
|
|
- stop_app() # 停止已运行的应用
|
|
|
|
|
- restart_app() # 重启已存在的应用
|
|
|
|
|
- rebuild_app() # 重建已存在的应用
|
|
|
|
|
- gitea_manager.py # 处理与Gitea相关的业务逻辑,如仓库的创建、删除、更新等
|
|
|
|
|
- get_repo() # 查询仓库
|
|
|
|
|
- create_repo() # 创建新的仓库
|
|
|
|
|
- update_repo() # 更新已存在的仓库
|
|
|
|
|
- delete_repo() # 删除已存在的仓库
|
|
|
|
|
- portainer_manager.py # 处理与Portainer相关的业务逻辑,如Stack的创建、删除、启动、停止、重启,重建等
|
|
|
|
|
- get_stack() # 查询Stack
|
|
|
|
|
- create_stack() # 创建新的Stack
|
|
|
|
|
- delete_stack() # 删除已存在的Stack
|
|
|
|
|
- start_stack() # 启动已存在的Stack
|
|
|
|
|
- stop_stack() # 停止已运行的Stack
|
|
|
|
|
- restart_stack() # 重启已存在的Stack
|
|
|
|
|
- rebuild_stack() # 重建已存在的Stack
|
|
|
|
|
- proxy_manager.py # 处理代理管理相关的业务逻辑,如代理的查询、创建、删除、更新等
|
|
|
|
|
- get_proxy() # 查询代理
|
|
|
|
|
- create_proxy() # 创建新的代理
|
|
|
|
|
- update_proxy() # 更新已存在的代理
|
|
|
|
|
- delete_proxy() # 删除已存在的代理
|
|
|
|
|
- settings_manager.py # 处理设置管理相关的业务逻辑,如设置的读取和更新等
|
|
|
|
|
- get_settings() # 获取设置
|
|
|
|
|
- update_settings() # 更新设置
|
2023-09-11 09:08:43 +00:00
|
|
|
|
- utils # 存放工具函数和工具类
|