Давхаргат бүтэц¶
Экосистем нь тав давхаргаас бүрдэнэ. Доод давхарга нь дээдээ үйлчилдэг; дээд давхарга нь доод давхаргын дотоод бүтцийг мэддэггүй, зөвхөн түүний гэрээгээр (contract) харилцана.
┌──────────────────────────────────────────────────────────────────────────┐
│ ДАВХАРГА 4 — САЛБАР ПРОДУКТ (vertical) │
│ ring.dgov.mn Ring System — процессын дахин инженерчлэл │
│ hurdan.dgov.mn «Хурдан» платформ — үйлчилгээ хүргэх / хянах │
│ developer.gerege.mn Developer Portal (dgov хувилбартай) │
│ wallet.gerege.mn Gerege Wallet — иргэний цахим түрийвч │
│ geregekiosk.mn Gerege Kiosk — өөрөө үйлчлэх терминал │
├──────────────────────────────────────────────────────────────────────────┤
│ ДАВХАРГА 3 — ПЛАТФОРМЫН СУУРЬ │
│ ── 2-р үе: Nexus — модульт монолит, апп стор ───────────────────────── │
│ nexus.gerege.mn Gerege Nexus — upstream, 8 модуль │
│ eduge.mn Eduge.mn — салбарын брэнд салаа │
│ (домэйн хүлээгдэж) Gerege SSO — нэвтрэлтэд төвлөрсөн салаа │
│ ── 1-р үе: Template — репо тус бүрд fork ───────────────────────────── │
│ template.gerege.mn Gerege Template Platform │
│ template.dgov.mn Government Template Platform V3.0 (+ Node.js порт) │
│ gerege.mn Gerege Platform (өөрөө SSO provider) │
│ → Clean Architecture Go + Next.js BFF + Gemini AI pipeline │
├──────────────────────────────────────────────────────────────────────────┤
│ ДАВХАРГА 2 — ТАНИЛТ / SSO (OIDC provider) │
│ sso.gerege.mn Gerege SSO sso.dgov.mn Government SSO │
│ dan.gerege.mn DAN Gateway gsign.gerege.mn G-Sign │
│ → өөрийн Go OAuth2/OIDC код (Hydra-г бүрэн орлуулсан), нэг DB │
│ → eID proxy: зөвшөөрөгдсөн eID үйлчилгээг бүртгэлтэй апп руу дамжуулна │
├──────────────────────────────────────────────────────────────────────────┤
│ ДАВХАРГА 1 — IDENTITY / PKI ЦӨМ │
│ eID Mongolia (eid-platform-mn) │
│ server (Go) · web · admin · iOS SDK · Android SDK · macOS/Windows │
│ 2-of-2 threshold ECDSA · dual key / dual cert (PIN1 auth / PIN2 sign) │
│ CA · OCSP · CRL · TSA │
├──────────────────────────────────────────────────────────────────────────┤
│ ДАВХАРГА 0 — ӨГӨГДӨЛ СОЛИЛЦОО │
│ X-Road instance MN — central server, security server-үүд │
│ Хажуугийн үйлчилгээ: xyp.gerege.mn (ААН лавлагаа) │
└──────────────────────────────────────────────────────────────────────────┘
Давхарга 0 — Өгөгдөл солилцоо¶
Юу вэ: Байгууллага хоорондын өгөгдөл солилцооны стандартчилсан суваг —
X-Road (instance MN).
Үүрэг: Гишүүн байгууллагууд бие биенийхээ үйлчилгээг баталгаажсан, гарын
үсэгтэй, тэмдэглэгдсэн байдлаар дуудна. Security server бүр өөрийн гишүүнийг
төлөөлж, central server нь итгэлцлийн жагсаалтыг (globalconf) гарын үсэглэн тараана.
Онцлог холбоос: eID Mongolia нь X-Road-ийн CA үүрэг гүйцэтгэдэг — өөрөөр хэлбэл Давхарга 1 нь Давхарга 0-д итгэлцлийн үндсийг өгдөг.
Төлөв: Хагас Central server ба эхний security server-үүд босч, топологи тодорхойлогдсон; өргөн хэрэглээнд нэвтрүүлэлт үргэлжилж байна.
Давхарга 1 — Identity / PKI цөм¶
Юу вэ: eID Mongolia — үндэсний eID платформ (Smart-ID / eIDAS маягийн).
Үүрэг: Иргэн, байгууллагыг таних, нэвтрүүлэх, хууль зүйн хүчинтэй гарын үсэг зуруулах. Мөн гэрчилгээний бүх амьдралын мөчлөг: олголт (CA), хүчинтэй эсэхийг шалгах (OCSP/CRL), цагийн тэмдэг (TSA).
Гол шийдлүүд:
- 2-of-2 threshold ECDSA — гарын үсгийн хувийн түлхүүр нэг ч талд бүрэн оршдоггүй.
- Давхар түлхүүр / давхар гэрчилгээ — PIN1 → нэвтрэлт, PIN2 → гарын үсэг.
- Таних дугаар нь
civil_id; ETSI ID нь хувь хүндPNOMN-<civil_id>, байгууллагадNTRMN-<...>. - KYC — DAN-аар, амьд байдлын шалгалт нүүр таниулгаар.
Хэн хэрэглэдэг: Давхарга 2 (SSO) шууд; Давхарга 3–4 нь SSO-гоор дамжуулан.
Төлөв: Production
Давхарга 2 — Танилт / SSO¶
Юу вэ: OAuth2/OIDC provider-ууд — Gerege SSO (sso.gerege.mn)
ба Government SSO (sso.dgov.mn), тэдгээрийн хажуугийн үйлчилгээ
DAN Gateway ба G-Sign.
Үүрэг — гурван зүйл:
- Identity provider — RP-ууд
Sign in with Geregeхийж чадна. Authorization code - PKCE (S256), rotating refresh token (reuse detection),
client_credentials. - eID proxy — зөвшөөрөгдсөн eID үйлчилгээг зөвхөн бүртгэлтэй апп руу дамжуулна. Апп eID рүү шууд хандахгүй.
- Апп бүртгэлийн цорын ганц газар — OAuth client, client secret зөвхөн энд үүсдэг, энд амьдардаг.
Hydra-гүй
Өмнө нь Ory Hydra ашиглаж байсныг өөрийн Go код болгож бичсэн. Тусдаа байсан Hydra DB нь үндсэн DB-тэй нэгтгэгдсэн. Үүний үр дүнд гадаад хамаарал, migration цогцолбор, ажиллуулах өртөг гурвуулаа буурсан.
Төлөв: Production
Давхарга 3 — Платформын суурь¶
Энэ давхарга хоёр үетэй. Хоёулаа production-д ажиллаж байгаа бөгөөд шилжилт явагдаж байна.
2-р үе — Gerege Nexus Production¶
Юу вэ: Модульт монолит платформ — бизнес модулиуд Go-ийн Module контрактыг
хэрэгжүүлж нэг бинарид компиллогдоно; тенант бүрт аль апп идэвхтэйг PostgreSQL
дээрх апп стор (app_installations) шийднэ.
Юу нь өөрчлөгдөв: 1-р үед шинэ бүтээгдэхүүн гэдэг нь template-ээс fork байв. Nexus дээр шинэ бүтээгдэхүүн гэдэг нь ихэвчлэн шинэ модуль — эсвэл брэндийн хувьд upstream-ээс салаалсан fork, тэр нь upstream-ээс merge-ээр шинэчлэгдэнэ.
| 1-р үе (Template) | 2-р үе (Nexus) | |
|---|---|---|
| Шинэ бүтээгдэхүүн | Template-ээс fork | Модуль бичих, эсвэл брэндийн fork |
| Хуваарилалт | Репо тус бүрд deployment | Тенант бүрт апп стороор |
| Кодын урсгал | open-gerege-core · @gerege/ui-core багц |
Upstream → fork-ууд merge хийнэ |
| Модуль хоорондын дуудлага | HTTP | Процесс доторх Go дуудлага |
Одоогийн салаанууд: nexus.gerege.mn (upstream, лавлагаа deployment) ·
eduge.mn (боловсролын салбар) · Gerege SSO (нэвтрэлтийн давхаргад төвлөрсөн,
домэйн хараахан гараагүй).
Бэлэн 8 модуль: Contacts · Products · Inventory · Billing & e-Barimt · Digital Documents · Developer Portal · PDF E-Sign (eID PIN2) · Төрийн үйлчилгээ (тохируулгатай урсгал, шатлал, SLA).
Nexus нь Давхарга 2-ыг орлохгүй
Nexus дотор өөрийн OAuth2/OIDC provider байдаг ч тэр нь тухайн deployment-ийн өөрийн тенантууд ба гуравдагч client-үүдэд зориулагдсан. Экосистемийн хэмжээнд иргэнийг таних цорын ганц зам нь Давхарга 2 хэвээр — Nexus ч eID рүү шууд ханддаггүй.
1-р үе — Template Platform Production¶
Юу вэ: Template Platform — цахим үйлчилгээг бүтээх production-д бэлэн суурь; мөн Gerege Platform нь өөрөө SSO provider болж чаддаг өргөтгөсөн хувилбар.
Үүрэг: Шинэ үйлчилгээ эхлүүлэхэд дараах зүйлс эхний өдрөөс бэлэн ирнэ:
- eID + Google танилт, session (JWT access + refresh rotation),
- байгууллага ба гишүүнчлэл, RLS-ээр хамгаалагдсан,
- RBAC (
superadmin → admin → manager → user), audit log, - API gateway (services / routes / consumers / API key / policy + телеметр),
- AI pipeline (Gemini) — чат, STT/TTS, орчуулга, мэдлэгийн сан,
- аюулгүй байдлын хатуу суурь (CSP/HSTS, CORS allow-list, rate limit, RLS),
- observability (OpenTelemetry + Prometheus + структурт лог).
Төлөв: Production
Давхарга 4 — Салбар продукт¶
Юу вэ: Template-ээс салбарласан бодит бүтээгдэхүүнүүд.
| Продукт | Зориулалт | Төлөв |
|---|---|---|
| Developer Portal | API каталог, апп бүртгэлийн гарц | Production |
| Gerege Wallet | Иргэний цахим түрийвч | Хагас |
| Gerege Kiosk | Өөрөө үйлчлэх терминалын платформ | Production |
| Ring System | Төрийн үйлчилгээний процессын дахин инженерчлэл | Хагас |
| «Хурдан» платформ | Үйлчилгээ хүргэх ба хяналт | Production |
Ring ба Хурдан нь төрийн шугам дээр ажилладаг.
Хамаарлын дүрэм¶
Экосистемийн бүх код дараах хамаарлын чиглэлийг сахина:
graph TD
L4["Давхарга 4 — Салбар продукт"] --> L3["Давхарга 3 — Платформын суурь"]
L3 --> L2["Давхарга 2 — SSO / OIDC"]
L2 --> L1["Давхарга 1 — eID / PKI"]
L2 -.->|"лавлагаа"| L0["Давхарга 0 — X-Road"]
L1 -.->|"CA үүрэг"| L0
Дүрэм: Давхарга дамжиж шууд хандахгүй. Жишээ нь Давхарга 4-ийн апп нь eID рүү шууд хандахгүй — заавал SSO-гоор дамжина. Энэ нь credential-ийг нэг газар барих, аудитын мөрийг тасалдуулахгүй байх хоёуланг хангадаг.
Цорын ганц зөвшөөрөгдсөн «доогуур» холбоос нь eID → X-Road CA үүрэг, энэ нь итгэлцлийн үндэс тул давхаргын дүрмээс чөлөөлөгдөнө.