الملفات
GHyamah-Test/README.md
2026-07-26 21:57:56 +03:00

4.7 KiB

Ghaymah Cloud Technical Assessment

Complete implementation of the five Ghaymah cloud assessment tasks: deployment, monitoring, incident analysis, CI/CD, scalability, and the mithal.space monitoring dashboard.

Deliverables

Question Deliverable Status
Q1 — Deploy and monitor an API Application, monitor, dashboard, and deployment guide Live
Q2 — OOMKilled postmortem Professional blameless postmortem Complete
Q3 — CI/CD pipeline Workflow and documentation Complete
Q4 — Scalability Architecture, capacity calculation, cold starts, and storage Complete
Q5 — mithal.space monitoring Collector and dashboard Live

Live services

Deployment evidence

The curated evidence set is documented in docs/evidence/README.md.

Evidence Screenshot
Ghaymah project and applications Project
Q1 API service Q1 service
Q1 live health response Q1 health
Q1 monitoring dashboard Q1 dashboard
Q5 Ghaymah service Q5 service
Q5 monitoring dashboard Q5 dashboard
GitHub production protection Approval protection
Successful CI/CD run Pipeline

CI/CD behavior

The workflow:

  1. Builds q1-deploy-monitor/app.
  2. Embeds the Git commit as RELEASE_SHA.
  3. Pushes immutable SHA and latest tags to Docker Hub.
  4. Starts the immutable image in an ephemeral staging container.
  5. Requires status=ok and the expected SHA from /health.
  6. Pauses for the required reviewer on the GitHub production Environment.
  7. Verifies that the live Ghaymah application serves the approved SHA.

Ghaymah CLI 0.0.24 documents interactive email/password login but does not publish API-token authentication or the external-image field for gy resource app update. Production image promotion therefore uses the authenticated dashboard and is followed by automated release verification. The workflow does not report a stale or unverified deployment as successful.

The account's five-resource free-plan limit prevents a third persistent Ghaymah application, so staging runs as an isolated ephemeral container on the Actions runner. Production and the Q5 dashboard remain live on Ghaymah.

Verified platform information

  • The authenticated deployment form accepts a Git repository or container image, registry pull secret, instance size, application name, port, public access, custom domain, environment variables, and storage volumes.
  • Docker Hub is available through External Integrations.
  • The authenticated volume form displays a range from 50 MiB to 10 GiB.
  • The official CLI installs with curl -sSL https://cli.ghaymah.systems/install.sh | bash.
  • CLI 0.0.24 exposes gy version, gy auth login, gy resource app init, gy resource app launch, logs, and a generic gy resource app update.

Official references:

Local checks

docker build --build-arg RELEASE_SHA=local \
  -t ghaymah-api:local q1-deploy-monitor/app
docker run --rm -p 8080:8080 ghaymah-api:local
curl -f http://localhost:8080/health
APP_URL=https://ghaymah-api-615e99f13665.hosted.ghaymah.systems \
  python q1-deploy-monitor/monitor/monitor.py --once
python q5-mithal-dashboard/collector/collect.py --once

No credentials are stored in the repository. Docker Hub credentials remain in GitHub Secrets and Ghaymah registry authentication remains in the platform integration.