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, 事故响应, 云计算, 可扩展性, 后端开发, 安全防御评估, 特权提升, 自动化部署, 规则引擎, 请求拦截, 运维监控, 逆向工具