Proje dosyaları eklendi
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# TrafficPumper SERP Production Runbook
|
||||
|
||||
Aktivasyon seviyeleri: disabled dis istek yapmaz; validation_only yalniz config ve acik izinle ucretsiz bakiye health kontroludur; canary normal customer/scheduler kapaliyken gunde en fazla bir kontrollu sorgudur; enabled butce, kill switch ve circuit breaker altinda normal kullanimdir. Hicbir gecis otomatik yapilmaz.
|
||||
|
||||
## Deploy
|
||||
|
||||
1. Secret degerlerini yalniz production environment/secret store icinde saglayin.
|
||||
2. php artisan migrate --force
|
||||
3. npm ci ve npm run build
|
||||
4. php artisan optimize:clear
|
||||
5. Environment yuklendikten sonra config:cache, route:cache ve view:cache
|
||||
6. php artisan horizon:terminate; process manager yeniden baslatmalidir.
|
||||
7. php artisan schedule:list
|
||||
8. Dis isteksiz php artisan serp:dataforseo:health --json
|
||||
9. Ayri acik izinle health --remote --json
|
||||
10. Once canary dry-run; ayri izinle yalniz bir kez --execute.
|
||||
11. Maliyet, normalization, audit, queue ve log kontrolu tamamlanmadan enabled moda gecmeyin.
|
||||
|
||||
Migration additive oldugundan bakim modu zorunlu degildir; release eszamanliligini deployment sistemi guvenceye almiyorsa bakim modu kullanin.
|
||||
|
||||
## Scheduler ve Horizon
|
||||
|
||||
Tek cron: * * * * * cd /GERCEK/PROJE/YOLU ve php artisan schedule:run. Windows gelistirme yolu production yolu degildir. Horizon default ve serp kuyruklarini tuketir. Coklu sunucuda Redis ortak cache/lock/circuit icin zorunludur.
|
||||
|
||||
## Emergency stop ve rollback
|
||||
|
||||
Super_admin emergency stop ile yeni Live/submit islemlerini keser; mevcut ucretli Standard task polling sonucu kurtarir. Gerekirse worker/scheduler kontrollu durdurulur, onceki release donulur ve config cache yenilenir. Additive migration veri riski varsa korlemesine geri alinmaz. Stuck kayitlar once serp:reconcile, sonra onayla --execute ile islenir.
|
||||
|
||||
## Ilk 24 saat
|
||||
|
||||
Saatlik harcama, bakiye, basari orani, auth/429/5xx, circuit/kill state, stuck/poll sayilari, backlog, failed jobs ve scrub edilmis loglari kontrol edin. Secret, Authorization header, keyword veya ham response gorulurse emergency stop uygulayin.
|
||||
|
||||
## AŞAMA 8 — Güvenli production geçişi (Seviye 0)
|
||||
|
||||
Bu çalışma alanından production sunucusuna erişim veya deployment yetkisi verilmemiştir. Gerçek proje yolu, PHP binary, web/PHP-FPM/Horizon servis adları, cron/timer, release ve rollback hedefi **production'da salt okunur keşfedilecek**; Windows geliştirme yolları production değeri değildir.
|
||||
|
||||
### Deployment öncesi kapılar
|
||||
|
||||
- Release/commit ve doğrulanmış rollback hedefini kaydet; yedek politikasının varlığını doğrula.
|
||||
- `APP_ENV=production`, `APP_DEBUG=false`; shared Redis cache/lock ve kalıcı queue kullan.
|
||||
- `DATAFORSEO_LOGIN` ve `DATAFORSEO_PASSWORD` yalnız secret store/environment içinde bulunmalı; değerleri ekrana basma.
|
||||
- Başlangıç durumu `SERP_CHECKS_ENABLED=false`, `SERP_OPERATION_MODE=disabled`, `SERP_PROVIDER=dataforseo` kalmalıdır.
|
||||
- Önce `php artisan migrate --pretend`, yetkili deploy sırasında sonra `php artisan migrate --force` çalıştır.
|
||||
- Lock dosyalarıyla production Composer/npm kurulumu ve `npm run build`; ardından cache, route, view ve worker yenileme adımlarını platformda keşfedilmiş servis adlarıyla uygula.
|
||||
- `/up`, ana sayfa, login, admin login, migration status, route list, `schedule:list`, Horizon ve `default,serp` tüketimini doğrula.
|
||||
|
||||
`php artisan serp:production:preflight --json` dış HTTP yapmaz ve kritik kapıda non-zero döner. Disabled deploy sonrasında `serp:dataforseo:health --json`, `serp:dataforseo:canary --json`, `serp:reconcile` ve `serp:operations:snapshot --window=24h --json` çalıştırılır. Preflight production ortamında PASS olmadan aktivasyon ilerletilmez.
|
||||
|
||||
### Ayrı onay kapıları
|
||||
|
||||
1. Remote health: yalnız ayrı açık onayla `serp:dataforseo:health --remote --json`. Bakiye critical altındaysa veya health başarısızsa dur.
|
||||
2. Tek canary: remote health PASS sonrasında ayrıca canary mode değişikliği ve ayrıca tek ücretli `canary --execute` onayı gerekir. Normal customer ve scheduler trafiği kapalı kalır.
|
||||
3. Limited production: canary kabul kriterlerinin tamamı PASS olduktan sonra ikinci ayrı açık onay gerekir. İki anahtar birlikte açılmadan normal trafik başlamaz.
|
||||
|
||||
Canary kabulü; başarılı HTTP/envelope, yalnız organic sonuç, `rank_group` normalizasyonu, depth 10, tek reservation/reconciliation, izin verilen maliyet, scrubbed audit/log, kapalı circuit ve doğru bütçe sayaçlarının tamamını gerektirir. Eksikte emergency stop/disabled uygulanır.
|
||||
|
||||
### Limitler ve ilk 24 saat
|
||||
|
||||
Güvenli profil: günlük 1.00 USD, aylık 20.00 USD, uyarı %80, low balance 10.00 USD, critical balance 2.00 USD, Live rezervasyon 0.003 USD, Standard 0.001 USD, depth 10. Ramp-up yeni ücretli rezervasyonları atomik olarak ilk saat 5, ilk 6 saat 25, ilk 24 saat 100 toplam kontrolle sınırlar; daha önce ücretlenmiş Standard polling devam eder.
|
||||
|
||||
Filament `/admin/serp-operations` ve `serp:operations:snapshot` aynı metrik servisini kullanır. Bütçe, backlog, failed/stuck, health, kill/circuit ve ramp durumu izlenir. Support/admin salt okunur; emergency stop/clear yalnız `super_admin` yetkisidir. Audit kanıtları operasyon audit kayıtlarında, maliyetler bütçe ledgerında, hassas olmayan özet Filament/CLI'dadır.
|
||||
|
||||
### Rollback ve incident recovery
|
||||
|
||||
Önce emergency stop ile yeni ücretli trafik kesilir; ücretlenmiş Standard task polling kontrollü sürer. Release/commit kaydedilip önceki doğrulanmış release'e dönülür; config/route/view cache ve keşfedilmiş PHP-FPM/Horizon servisleri kontrollü yenilenir. Additive migration körlemesine rollback edilmez; ileri düzeltme kullanılır. `/up`, login, admin ve salt okunur SERP ekranları tekrar doğrulanır; budget/audit kayıtları silinmez.
|
||||
Reference in New Issue
Block a user