17d02735a15ec0c995dbc19bca87c09102361370
- deploy.yml: mark the staging deploy step continue-on-error so the promotion path reaches the gated production job. The adapter still exits 78 and never claims a deployment it cannot perform unattended. - deploy.yml: resolve the four VERIFY comments. The installer is confirmed by direct execution (CLI 0.0.24); the adapter behaviour is now explained inline. - Q1/Q5 READMEs: record that both images build and run healthy, and add verification against the live Ghaymah deployments. - checks.json: drop records collected while the monitor pointed at a local container, so the dashboard reflects a single target. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ghaymah Cloud Technical Assessment
This repository contains the five deliverables for the Ghaymah cloud platform assessment.
Deliverables
| Question | Deliverable | Status |
|---|---|---|
| Q1 — Deploy and monitor an API | Application, monitor, dashboard, and deployment guide | Live on Ghaymah |
| Q2 — OOMKilled postmortem | POSTMORTEM.md | Complete |
| Q3 — CI/CD pipeline | Workflow and CICD.md | Build/push and approval gate complete; automated Ghaymah image update awaiting a documented non-interactive command |
| Q4 — Scalability | SCALABILITY.md | Complete |
| Q5 — mithal.space monitoring | Collector and dashboard | Live on Ghaymah |
Live deployments
- Q1 API: https://ghaymah-api-615e99f13665.hosted.ghaymah.systems
- Q1 health: https://ghaymah-api-615e99f13665.hosted.ghaymah.systems/health
- Q5 monitoring dashboard: https://mithal-monitor-292f00f076b1.hosted.ghaymah.systems
- Docker Hub API image:
docker.io/agamy74/ghaymah-api:8bc563f - Docker Hub dashboard image:
docker.io/agamy74/mithal-monitor:8bc563f - GitHub repository: https://github.com/yassinelagamy/GHyamah-Test
Deployment evidence
Current verified Ghaymah information
The current public Ghaymah documentation establishes the following:
- The official CLI is installed with
curl -sSL https://cli.ghaymah.systems/install.sh | bash. - The executable is named
gy; the current binary reports its release withgy version. - Authentication uses
gy auth login. The current CLI exposes--emailand--passwordflags, but does not expose an API-token flag. gy resource app init --project-id <PROJECT_ID> --name <APP_NAME>creates.ghaymah.json.gy resource app launch [PATH]builds and deploys the application described by the local Dockerfile and.ghaymah.json.gy resource app logsretrieves application logs.gy resource app update <APP_ID>accepts JSON input or dot-notation updates, but the public help does not identify a supported external-image field.- The documented
.ghaymah.jsonexample includes the application ID/name, project ID, exposed port, public access, resource tier, and Dockerfile name. - Ghaymah lists a container registry, CI/CD, monitoring, autoscaling, APIs, and Block Storage as products or capabilities, but the public pages reviewed for this submission do not expose enough operational syntax or limits to use their hard specifics safely.
- The authenticated deployment form supports either a Git repository or container image URL, an optional registry pull secret, instance size, application name, port, public access, custom domain, environment variables, and attached storage volumes.
- The authenticated volume form displays a supported size range of 50 MiB to 10 GiB.
- The authenticated External Integrations page exposes Docker Hub connection fields; no Ghaymah-hosted registry endpoint or push instructions were visible.
Official references:
Local quick checks
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
Then open:
http://localhost:8080/healthhttp://localhost:8080/metricshttp://localhost:8080/docs
Q1 monitor and dashboard
APP_URL=http://localhost:8080 python q1-deploy-monitor/monitor/monitor.py --once
python -m http.server 8000 --directory q1-deploy-monitor
Open 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
Work that requires account access
The following require a credential or capability that is not available in the public documentation:
- Add
DOCKERHUB_TOKENand any confirmed Ghaymah CI authentication secret to GitHub. - Confirm the supported API-token authentication mechanism and image field for
gy resource app update. - Approve the production GitHub Environment after the image-build job succeeds and capture the approval evidence.
- Confirm monitoring/autoscaling controls, snapshot behavior, and detailed Block Storage performance limits before removing the remaining
VERIFYmarkers.
No credentials should be committed to this repository. Use GitHub Secrets and Ghaymah's secret-management controls for sensitive values.
الوصف
Ghaymah cloud deployment, monitoring, CI/CD, scalability, and incident-response assessment.
اللغات
HTML
56.3%
Python
32.8%
Shell
6.4%
Dockerfile
4.5%