docs: add final deployment evidence [skip ci]

هذا الالتزام موجود في:
yassinelagamy
2026-07-26 21:57:56 +03:00
الأصل 60b9e2c38e
التزام deb96349b8
9 ملفات معدلة مع 51 إضافات و7 حذوفات

عرض الملف

@@ -23,6 +23,8 @@ monitoring dashboard.
- Docker Hub API image: `docker.io/agamy74/ghaymah-api` - Docker Hub API image: `docker.io/agamy74/ghaymah-api`
- Docker Hub dashboard image: `docker.io/agamy74/mithal-monitor` - Docker Hub dashboard image: `docker.io/agamy74/mithal-monitor`
- Public repository: <https://github.com/yassinelagamy/GHyamah-Test> - Public repository: <https://github.com/yassinelagamy/GHyamah-Test>
- Successful protected deployment run:
<https://github.com/yassinelagamy/GHyamah-Test/actions/runs/30215537509>
## Deployment evidence ## Deployment evidence

عرض الملف

@@ -15,5 +15,8 @@ duplicate captures are not included.
| 07 | `07-production-approval.png` | GitHub `production` Environment required-reviewer protection. | | 07 | `07-production-approval.png` | GitHub `production` Environment required-reviewer protection. |
| 08 | `08-pipeline-success.png` | Successful build, staging verification, approval, and production verification. | | 08 | `08-pipeline-success.png` | Successful build, staging verification, approval, and production verification. |
`health-response.html` records the URL, UTC check time, HTTP status, and JSON
used for screenshot 03.
All service URLs and Docker image names are also listed in the repository root All service URLs and Docker image names are also listed in the repository root
[README](../../README.md). [README](../../README.md).

عرض الملف

@@ -0,0 +1,38 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Q1 Live Health Verification</title>
<style>
:root { color-scheme: dark; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; background: #0d1117; color: #e6edf3; }
main { width: min(900px, calc(100% - 64px)); padding: 40px; border: 1px solid #30363d; border-radius: 16px; background: #161b22; }
.status { display: inline-flex; gap: 10px; align-items: center; padding: 8px 14px; border-radius: 999px; color: #3fb950; background: #183d27; font-weight: 700; }
.dot { width: 10px; height: 10px; border-radius: 50%; background: #3fb950; }
h1 { margin: 20px 0 8px; font-size: 32px; }
p { color: #8b949e; }
a { color: #58a6ff; word-break: break-all; }
pre { margin-top: 28px; padding: 24px; overflow: auto; border-radius: 12px; background: #0d1117; color: #c9d1d9; font-size: 16px; line-height: 1.65; }
.meta { margin-top: 24px; display: flex; gap: 28px; color: #8b949e; font-size: 14px; }
strong { color: #e6edf3; }
</style>
</head>
<body>
<main>
<span class="status"><span class="dot"></span>HTTP 200 · HEALTHY</span>
<h1>Q1 Live Health Verification</h1>
<p><a href="https://ghaymah-api-615e99f13665.hosted.ghaymah.systems/health">https://ghaymah-api-615e99f13665.hosted.ghaymah.systems/health</a></p>
<pre>{
"status": "ok",
"release": "60b9e2c38e3f1a509383c6d61a7f76b9d043214a",
"uptime_s": 143.213,
"timestamp": "2026-07-26T18:48:18.536427+00:00"
}</pre>
<div class="meta">
<span><strong>Checked:</strong> 2026-07-26 18:48:19 UTC</span>
<span><strong>Source:</strong> Ghaymah public endpoint</span>
</div>
</main>
</body>
</html>

ملف ثنائي غير معروض.

قبل

العرض:  |  الارتفاع:  |  الحجم: 68 KiB

بعد

العرض:  |  الارتفاع:  |  الحجم: 68 KiB

ملف ثنائي غير معروض.

قبل

العرض:  |  الارتفاع:  |  الحجم: 62 KiB

بعد

العرض:  |  الارتفاع:  |  الحجم: 63 KiB

ملف ثنائي غير معروض.

بعد

العرض:  |  الارتفاع:  |  الحجم: 37 KiB

ملف ثنائي غير معروض.

بعد

العرض:  |  الارتفاع:  |  الحجم: 62 KiB

ملف ثنائي غير معروض.

بعد

العرض:  |  الارتفاع:  |  الحجم: 65 KiB

عرض الملف

@@ -268,14 +268,15 @@ const DATA_URL = '../monitor/data/checks.json';
### Against the live Ghaymah deployment ### Against the live Ghaymah deployment
Checked on 2026-07-26 at 17:23 UTC, ~32 minutes after deployment: Final release checked on 2026-07-26 at 18:48 UTC:
| Endpoint | Result | | Endpoint | Result |
|---|---| |---|---|
| `/health` | HTTP 200 · `{"status":"ok","uptime_s":1950.129,"timestamp":"2026-07-26T17:23:30.797215+00:00"}` | | `/health` | HTTP 200 · `status=ok`; release `60b9e2c38e3f1a509383c6d61a7f76b9d043214a` |
| `/` | service metadata, `started_at` `2026-07-26T16:51:00.668703+00:00` | | `/` | Service metadata and the same immutable release identifier |
| `/metrics` | `{"requests_total":118,"started_at":"2026-07-26T16:51:00.668703+00:00"}` the counter reflects real traffic from the monitor | | `/metrics` | Valid request counter and process start time; the counter reflects real monitor traffic |
The monitor has been polling the live URL every 30 s since deployment; `monitor/data/checks.json` The monitor polls the live URL every 30 seconds. The committed
contains only checks against the deployed application (earlier records from local `monitor/data/checks.json` is a submission snapshot; ongoing checks continue in
container testing were removed so the dashboard reflects one target). the `ghaymah-q1-monitor-history` Docker volume so normal monitoring does not
dirty the repository.