Capstone: Production-style SaaS Deployment
بناء منصة SaaS صغيرة على Kubernetes تثبت أنك تفهم التشغيل وليس YAML فقط.
مكونات المشروع
Section titled “مكونات المشروع”- Frontend.
- Backend API.
- PostgreSQL مع PVC.
- Background worker.
- CronJob لمهمة دورية.
- Ingress مع TLS.
- NetworkPolicy.
- RBAC وServiceAccounts.
- Helm chart.
- Argo CD.
- Monitoring plan.
- Backup وrestore plan.
- Runbook.
runbook المطلوب
Section titled “runbook المطلوب”# Capstone Runbook
## Services- frontend- api- worker- postgres
## Deployargocd app sync capstone-prod
## Rollbackgit revert <bad-commit>argocd app sync capstone-prod
## Debugkubectl -n capstone-prod get podskubectl -n capstone-prod logs deploy/api --tail=100kubectl -n capstone-prod get endpoints
## Backup and restorevelero backup create capstone-prod --include-namespaces capstone-prodتقييم معماري
Section titled “تقييم معماري”flowchart LR U[Users] --> I[Ingress TLS] I --> FE[Frontend] FE --> API[API] API --> DB[(PostgreSQL PVC)] API --> W[Worker] C[CronJob] --> API Git[Git] --> Argo[Argo CD] Argo --> K[Kubernetes]Lab: تسليم Capstone
الهدف: تشغيل المشروع وتوثيق قرارات Production.
- أنشئ chart أو manifests كاملة.
- شغل البيئة
dev. - أضف Ingress وTLS.
- أضف NetworkPolicy وRBAC.
- انقل النشر إلى Argo CD.
- نفذ rollout وrollback.
- اكتب runbook وreadiness checklist.
Expected output
Section titled “Expected output”Sync Status: SyncedHealth Status: HealthyAll core Pods: RunningCleanup
Section titled “Cleanup”argocd app delete capstone-devhelm uninstall capstone-dev -n capstone-devkubectl delete namespace capstone-devAcceptance criteria
Section titled “Acceptance criteria”- أي شخص يستطيع تشغيل المشروع من README.
- كل secret له مصدر واضح ولا يوجد secret صريح في Git.
- كل workload مهم له resources وprobes.
- rollback مجرب ومكتوب.
- backup/restore موثق حتى لو كان محليا.
- تستخدم Rubric مشروع التخرج للتقييم النهائي.