# Ghaymah SRE Exam Repository This repository collects the solutions and supporting material for the Ghaymah SRE exam. Each folder contains one task answer or a shared reference used by multiple answers. ## Repository Layout | Folder | Purpose | |---|---| | `q1-deploy-monitor/` | Deploying a sample API on Ghaymah Containers, with health checks, dashboard, and monitoring scripts. | | `q2-postmortem/` | Blameless postmortem for a service outage and the follow-up remediation plan. | | `q3-cicd/` | GitHub Actions CI/CD workflow with staging and production deployment flow. | | `q4-scalability/` | Scalability and load-balancing calculations, including container sizing and scaling strategy. | | `q5-mithal-monitor/` | Self-contained monitor for mithal.space with a browser dashboard and HTTP metrics endpoint. | | `common-mortakaz/` | Shared integration ideas with products discovered through Mortakaz. | | `common-qabilah/` | Shared profile/reference material used by the exam answers. | ## What Each Task Covers `q1-deploy-monitor/` includes a Flask API, Dockerfile, and monitoring utilities for deployment on Ghaymah Containers. `q2-postmortem/` documents the incident analysis, root cause, impact, timeline, and corrective actions. `q3-cicd/` describes a CI/CD pipeline that builds once, deploys to staging, and requires manual approval before production. `q4-scalability/` explains the traffic assumptions, the container count calculation, and the recommended auto-scaling strategy. `q5-mithal-monitor/` provides a standalone Python monitor plus `dashboard.html` for live visibility into latency, uptime, DNS, SSL, and search checks. ## Quick Start If you want to inspect a specific answer, open the relevant folder directly. For the runnable tasks: - Open `q1-deploy-monitor/dashboard.html` in a browser to view the monitoring UI. - Run `q1-deploy-monitor/health-check.py` or `q1-deploy-monitor/health-check.sh` against the deployed service. - Run `q5-mithal-monitor/monitor.py` to collect checks and serve the dashboard locally. ## Notes - The repository is organized as a set of independent answers, so there is no single top-level application to build. - Most documentation is written in Arabic to match the exam format, while this README serves as the entry point.