yassinelagamy/GHyamah-Test
GitHub: yassinelagamy/GHyamah-Test
面向 Ghaymah 云平台的技术评估项目,涵盖 API 部署监控、OOM 事后分析、CI/CD 流水线、可扩展性设计及外部站点监控面板五大交付成果。
Stars: 0 | Forks: 0
# Ghaymah 云平台技术评估
本仓库包含 Ghaymah 云平台评估的五个交付成果。
## 交付成果
| 问题 | 交付成果 | 状态 |
|---|---|---|
| Q1 — 部署并监控 API | [应用、监控、dashboard 和部署指南](q1-deploy-monitor/README.md) | 已在 Ghaymah 上线 |
| Q2 — OOMKilled 事后分析 | [POSTMORTEM.md](q2-postmortem/POSTMORTEM.md) | 已完成 |
| Q3 — CI/CD pipeline | [Workflow](.github/workflows/deploy.yml) 和 [CICD.md](q3-cicd/CICD.md) | 构建/推送和审批门禁已完成;Ghaymah 镜像自动更新待记录的非交互式命令 |
| Q4 — 可扩展性 | [SCALABILITY.md](q4-scalability/SCALABILITY.md) | 已完成 |
| Q5 — mithal.space 监控 | [Collector 和 dashboard](q5-mithal-dashboard/) | 已在 Ghaymah 上线 |
## 在线部署
- Q1 API:
- Q1 健康检查:
- Q5 监控 dashboard:
- Docker Hub API 镜像:`docker.io/agamy74/ghaymah-api:8bc563f`
- Docker Hub dashboard 镜像:`docker.io/agamy74/mithal-monitor:8bc563f`
- GitHub 仓库:
## 部署证据
- [Ghaymah 项目](screenshots/ghaymah-project-created.png)
- [Q1 API 服务](screenshots/q1-ghaymah-service.png)
- [Q5 监控服务](screenshots/q5-ghaymah-service.png)
## 当前已验证的 Ghaymah 信息
当前的公开 Ghaymah 文档确立了以下内容:
- 官方 CLI 通过 `curl -sSL https://cli.ghaymah.systems/install.sh | bash` 安装。
- 可执行文件名为 `gy`;当前的二进制文件通过 `gy version` 报告其发布版本。
- 身份验证使用 `gy auth login`。当前的 CLI 暴露了 `--email` 和 `--password` 标志,但未暴露 API-token 标志。
- `gy resource app init --project-id --name ` 会创建 `.ghaymah.json`。
- `gy resource app launch [PATH]` 会构建并部署由本地 Dockerfile 和 `.ghaymah.json` 描述的应用程序。
- `gy resource app logs` 用于检索应用程序日志。
- `gy resource app update ` 接受 JSON 输入或点号表示法更新,但公开的帮助信息未指明支持的外部镜像字段。
- 有记录的 `.ghaymah.json` 示例包含应用程序 ID/名称、项目 ID、暴露端口、公共访问权限、资源层级和 Dockerfile 名称。
- Ghaymah 将容器镜像仓库、CI/CD、监控、自动扩缩容、API 和 Block Storage 列为产品或功能,但在本次提交中审查的公开页面并未提供足够的操作语法或限制,无法安全地使用其硬性具体细节。
- 经过身份验证的部署表单支持 Git 仓库或容器镜像 URL、可选的镜像仓库拉取密钥、实例大小、应用程序名称、端口、公共访问权限、自定义域名、环境变量以及附加的存储卷。
- 经过身份验证的存储卷表单显示支持的大小范围为 50 MiB 到 10 GiB。
- 经过身份验证的外部集成页面提供了 Docker Hub 连接字段;未看到 Ghaymah 托管的镜像仓库端点或推送说明。
官方参考:
- [Ghaymah CLI 文档](https://ghaymah.systems/docs)
- [Ghaymah CLI 概览](https://ghaymah.systems/cli)
- [Ghaymah 产品](https://ghaymah.systems/products)
- [Ghaymah 更新日志](https://ghaymah.systems/changelog)
## 本地快速检查
### Q1 API
```
python -m pip install -r q1-deploy-monitor/app/requirements.txt
python -m uvicorn main:app --app-dir q1-deploy-monitor/app --host 0.0.0.0 --port 8080
```
然后打开:
- `http://localhost:8080/health`
- `http://localhost:8080/metrics`
- `http://localhost:8080/docs`
### Q1 监控和 dashboard
```
APP_URL=http://localhost:8080 python q1-deploy-monitor/monitor/monitor.py --once
python -m http.server 8000 --directory q1-deploy-monitor
```
打开 `http://localhost:8000/dashboard/index.html`。
### Q5 Collector
```
python -m pip install -r q5-mithal-dashboard/collector/requirements.txt
python q5-mithal-dashboard/collector/collect.py --once
```
## 需要账户访问权限的工作
以下各项需要公开文档中未提供的凭证或功能:
1. 将 `DOCKERHUB_TOKEN` 和任何确认的 Ghaymah CI 身份验证密钥添加到 GitHub。
2. 确认 `gy resource app update` 支持的 API-token 身份验证机制和镜像字段。
3. 在镜像构建任务成功后,批准生产环境的 GitHub Environment 并捕获批准证据。
4. 在移除剩余的 `VERIFY` 标记之前,确认监控/自动扩缩容控件、快照行为以及详细的 Block Storage 性能限制。
不应将任何凭证提交到此仓库中。对于敏感值,请使用 GitHub Secrets 和 Ghaymah 的密钥管理控件。
标签:Docker, 事故响应, 云计算, 可扩展性, 后端开发, 安全防御评估, 特权提升, 自动化部署, 规则引擎, 请求拦截, 运维监控, 逆向工具