GH GambleHub

Konfiqurasiya yerləşdirilməsi

1) Niyə

Konfiqurasiya koddan daha tez-tez dəyişir və birbaşa gəlirə (PSP marşrutu, limitlər, əmsallar, ön fiçlər) və uyğunluğa (KYC/AML, RG) təsir edir. Konfiqurasiyaların ciddi tolerantlıq və müşahidə qabiliyyəti ilə təkrar, yoxlanıla bilən və geri qaytarıla bilən proyektə çatdırılması prosesi lazımdır.

2) Prinsiplər

1. Configuration as Data: konfiqlər «əl klikləri» deyil, versiyalaşdırıla bilən məlumatlardır (YAML/JSON).
2. Schema-first: hər hansı bir qeyd sxemə qarşı təsdiqlənir (JSON Schema/Protobuf).
3. Kod kimi siyasətçilər: geytlər, tolerantlar, SoD - siyasətçilərin anbarında.
4. GitOps: Həqiqətin yeganə mənbəyi Git; klasterlər rekonsayler tərəfindən uyğunlaşdırılır.
5. Proqressiv çatdırılma: seqmentlər (GEO/tenant/bank/provayder).
6. Sıfır-downtime: atomik switches, ikiqat tamponlama, formatların uyğunluğu.
7. Müşahidə by design: audit, tətbiq metrikası, drift detektor.
8. Təhlükəsizlik: minimum imtiyazlar, sirlər ayrıca, riskli dəyişikliklərə SoD/4-eyes.

3) Konfiqurasiya modeli

Statik: nadir hallarda dəyişir, buraxılış tələb edir (portlar, nüvənin vaxtları).
Dinamik: restartlar olmadan tətbiq olunur (PSP routing, fiçlər, limitlər).
Sirlər: açarlar/tokenlər; ayrıca kontur (KMS/Secret Manager).
Artefaktlar: qaydalar faylları/mappinqlər (BIN → bank, GEO → PSP, bonus limitləri).

Ünvan açarları: 'tenant', 'region', 'environment', 'service', 'version', 'segment' (psp/bank_group/device).

4) Formatlar və sxemlər

Sxem nümunəsi (JSON Schema, payments-routing):
json
{
"$schema": "https://json-schema. org/draft/2020-12/schema",
"title": "pspRouting",
"type": "object",
"properties": {
"version": {"type": "string"},
"rules": {
"type": "array",
"items": {
"type": "object",
"required": ["geo","binGroup","primary","fallback"],
"properties": {
"geo": {"type":"string"},
"binGroup":{"type":"string"},
"primary":{"type":"string"},
"fallback":{"type":"array","items":{"type":"string"}},
"limits":{"type":"object","properties":{"perMinute":{"type":"integer"}}}
}
}
}
},
"required": ["version","rules"]
}

5) Həyat dövrü (GitOps)

1. Authoring: PR konfiqurasiya anbarında: məlumat + keçid/dəyişiklik.
2. Lint/Validate: CI: sxemlər, linklər, semantika (münaqişə qaydaları), stenddə dry-run.
3. Policy Gates: SoD/4-eyes, risk sinfi, freeze pəncərələri, SLO statusuna uyğunluq.
4. Staging Apply: inteqrasiya testləri/sintetika qaçış, SLI test.
5. Progressive Delivery: prod-kanareic (1-5%) → 25% → region/tenant → 100%.
6. Post-monitorinq: 30-60 min metrik/alert; nəticənin fiksasiyası.
7. Promotion/Rollback: Release etiketləri, Git revert/« previous version »vasitəsilə sürətli geri dönüş.

6) Yuvarlanma strategiyaları

Seqmentlər üzrə kanareya: 'tenant = A, geo = TR, bank = BIN _ XXXX'.
Regionlar üzrə: EU → LATAM → APAC, saat zirvələri nəzərə alınmaqla.
Funksionallığa görə: bayrağın (feature flag) guardrails (TTL, əhatə limitləri) ilə daxil edilməsi.
Blue/Green mənbə üçün: oxucuları yeni snapshot keçid.

7) Dinamik yükləmə və uyğunluq

Isti yenidən başlatma (watchers/konsullar/OTel Collector pipeline reload).
Cüt format (v1 + v2): Prod hər ikisi oxuyur, istehsalçılar yeni yazırlar.
Uyğunluq: API/metrik cavablarda versiya «kim hansı konfiqurasiyada» görmək üçün.

8) Təhlükəsizlik, sirləri, SoD

Secrets ayrıca: KMS/Secret Manager-da saxlama, sahə səviyyəsində şifrələmə, ABAC-a giriş.
SoD/4-eyes: Ödəniş marşrutunun/bonus limitlərinin/PII ixracının dəyişdirilməsi - yalnız ikiqat təsdiq vasitəsilə.
JIT hüquqları: əməliyyatlar üçün müvəqqəti tokenlər, tam audit.
Təhlükəsizlik yoxlamaları: linter PII/test açarları config prod qadağan edir.

9) Tətbiq edilməzdən əvvəl validasiya

Sxemlər (JSON Schema/Protobuf), linterlər, kardinallıq yoxlamaları.
Domen semantikası: dövrlər/dublikatlar/» qara dəliklər» yoxdur, cari asılılıqlarla uyğunluq.
Shadow Trafik/Simulyasiyalar: «qovmaq» yeni routing/Real Stream qaydaları oxu-olmadan.
SLO qapısı: Qırmızı SLI → promosyon qadağası.

10) Müşahidə və audit

Yerləşdirmə metrikası: tətbiq vaxtı, müvəffəqiyyət, əhatə payı, parsinq səhvləri, rollbacks.
Hadisələr: kim/nə/nə vaxt/nə üçün, diff (sirlərin gizlədilməsi daxil olmaqla).
Drift detektoru: «Git-də nə» və «rentaymda nə» müqayisə; uyğunsuzluq zamanı alert.
Nümunələr (exemplars): konfiqurasiya əməliyyatlarının 'trace _ id' linki.

11) Standart konfiqurasiya kataloqu (iGaming)

Payments routing: GEO/BIN/metodu ilə PSP; retraj limitləri; 3DS.
KYC/AML: provayderlər, taymautlar, TTL, fallback/əl yoxlama qaydaları.
Risk & RG: velocity limitləri, gündəlik/aylıq kaplar, geo istisnalar.
Games/Core: cache əmsalları, hovuz ölçüləri, fitzeflages (təkrarlama tarixi, yeni rejimlər).
Ops/Observability: təhlükə həddi, sampling qaydaları, retention sinifləri, sintetika.
Status/Comms: mesaj şablonları, lokalizasiyalar, yeniləmə cədvəli.

12) Konfiqurasiya paketinin nümunəsi (manifest)

yaml apiVersion: cfg. platform/v1 kind: ConfigRelease metadata:
id: payments-routing-2025-11-01 change: "RTE-421: reroute TR BIN_4571 → PSP2"
spec:
scope:
tenants: [brandA, brandB]
regions: [EU]
segments:
geo: [TR]
strategy:
steps:
- name: canary coverage: "5%"
duration: "20m"
- name: ramp coverage: "25%"
duration: "30m"
- name: region-full"
coverage: "100%"
gates:
require:
- policy: "slo-green"
- approval: ["Payments Lead","Compliance"]
- freeze: "not-in-effect"
rollback:
to: "payments-routing-2025-10-29"
autoIf:
- metric: "auth_success_rate"
condition: "drop>10% for 10m"

13) Rollback və təhlükəsizlik dəyişikliyi

Git vasitəsilə tərs:' revert '/» promote previous».
Atomik açar: oxucular əvvəlki snapshot keçir.
Avtomatik geri çəkilmə meyarları: SLI/KRI deqradasiyası, parsinq/validator səhvlərinin artması.
Rabitə: hadisə-bot avtomatik geri çəkilmə statusunu dərc edir.

14) Multi-tenant və geo-yaşayış

Fayllar/qovluqlar və açarlar səviyyəsində ad boşluqları ('tenant/region/env').
Oxu siyasətləri: Xidmətlər yalnız öz bağlarını görür.
Geo-kopyaları konfiqurasiya (EU/LATAM/APAC) və SLA ilə replikasiya gecikməsi.
Müxtəlif yurisdiksiyalar üçün müxtəlif pəncərələr (komplayens/bayramlar).

15) Performans və dəyəri (FinOps)

Snapshot cache: yerli/paylanmış; TTL/ETag/If-None-Match.
Konfiqurasiya ölçüsü: strukturların həcmi və dərinliyi üçün limitlər; modullara bölmək.
Giriş kartı: ən yaxşı oxu istifadəçiləri; pullinq tezliyinin optimallaşdırılması.
Səhvlərin dəyəri: «bahalı» geri dönüş/əlavə kanarya sayğacı.

16) İnteqrasiya

Alerting/SLO: qapı promosyonu, avtomatik geri çəkilmə.
Release-gates: Konveyerlərin yayılması başa çatmadıqda kodun buraxılışlarının bloklanması.
Hadisə-bot: '/config promote ', '/config rollback' komandaları, diff və dashboard linkləri.
Workflow Engine: yüksək riskli dəyişikliklər üçün human-task; eskalasiya zamanlayıcıları.

17) KPI/KRI funksiyaları

Lead Time konfiqurasiya: PR → Prod.
Change Failure Rate (CFR): geri çəkilmə ilə dəyişikliklərin payı.
MTTR -hadisə.
Drift rate: uyğunsuzluq tezliyi Git runtime.
SLO-gates pass rate: əl istisnaları olmadan geytalar keçən dəyişikliklər payı.
Dəyişiklik dəyəri: CPU/IO, kanaryalar, hadisələr.

18) Yol xəritəsi (6-10 həftə)

Ned. 1-2: konfiqurasiya kataloqu, sxemlər, linterlər; Git repo; əsas CI (validasiya/diff).
Ned. 3-4: GitOps-rekonsayler, dry-run/staging, status-dashboard; TTL ilə fitness.
Ned. 5-6: policy-as-code (SoD/pəncərələr/freeze/SLO-geytalar), kanareik yuvarlanma, avtomatik yuvarlanma.
Ned. 7-8: drift detektor, KMS, multi-tenant və geo-nüsxələr, insident-bot inteqrasiya vasitəsilə sirləri.
Ned. 9-10: Yük/xaos testləri, FinOps hesabatı, təlim komandaları və şablonları.

19) Artefaktların şablonları

PR Template: hədəf, risk sinfi, sahə (tenant/region), yuvarlanma planı, geri dönüş planı, dry-run nəticələri.
Policy Pack: SLO geytləri, SoD/4-eyes, freeze təqvimi, ölçü/kardinallıq limitləri.
Runbook: «cari versiyasını/diff/kanaryaların vəziyyətini necə oxumaq olar», «promosyonu əl ilə necə dayandırmaq olar».
Config Catalog: sahibi, sxem, oxucular, yeniləmə tezliyi, uyğunluq qeydləri.

20) Antipattern

Git/audit olmadan «administration» əl düzəlişləri.
Release-artefakt kodu ilə qarışdırılmış konfiqlər, isti dəyişdirmə imkanı olmadan.
Parsinq zamanı sxemlərin/validasiyaların olmaması → düşmə.
Kanaryalar olmadan qlobal birdəfəlik yayma.
Konfiqada ümumi sirlər; Git sirləri.
Ficheflags heç bir geri/TTL/guardrails.
drift detektor yoxdur.
SLO geytlərinin «zəng» və qeyd olmadan çıxarılması.

Yekun

Konfiqurasiya yerləşdirilməsi idarə olunan konveyerdir: sxemləri olan məlumatlar → siyasət və geytalar → GitOps və mütərəqqi çatdırılma → isti yükləmə və dönüşümlülük → müşahidə və audit → təhlükəsizlik və qiymət. Bu çərçivə SLO, gəlir və tənzimləmə tələblərinə uyğunluğu saxlayaraq iGaming platformasının davranışını tez və təhlükəsiz şəkildə dəyişdirməyə imkan verir.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.