Хэрэглэгч хаана байна,
PetroNet тэнд байна.
Хөтөч, ширээний компьютер, утас, ШТС-ын касс — төхөөрөмж өөр ч өгөгдөл, нэвтрэлт, дүрэм нэг.
Үндсэн платформ
Иргэн ойрын ШТС, нөөцийн түвшин, өдрийн эрхээ; аж ахуйн нэгж объект, сав, тайлангаа; зохицуулагч улсын өдрийн нэгтгэлээ — бүгд нэг хаягаас.
- Иргэний платформ, ААН портал, Command Center
- eID-ээр танина, OIDC issuer нь petronet.mn
- Гинж, POS, ваучер, хяналт — нэг өгөгдлийн урсгал
Төхөөрөмжийн шугамууд
Вэб бүрхүүл биш, жинхэнэ native апп: macOS, Windows, iOS/iPadOS, Android. Нэр нь үйлдлийн системийг биш, хүн төхөөрөмжөө хэрхэн барьдгийг нэрлэнэ.
- Клиентэд нэг ч нууц түлхүүр байхгүй — задалсан ч авах юм алга
- Сүлжээгүй ч нээгдэнэ, identity нь Keychain / Keystore-д шифрлэгдэнэ
- Монгол, англи, орос, хятад, франц, испани, араб — 7 хэл
Системийг удирдах хаалга
тусдаа, бат бөх.
Консол ба хөгжүүлэгчийн портал нь нийтийн сайтаас тусдаа хаягтай, өөрийн нэвтрэлтийн төсөвтэй — нэгнийх нь ачаалал нөгөөгөө идэхгүй.
Операторын консол
Байгууллага, хэрэглэгч, эрх, аудит, нөөцлөлтийн бүртгэлийг нэг дор удирдана. Өөр нэрээр ирсэн хүсэлтэд консол огт хариулахгүй.
- Тусдаа vhost, тусдаа нэвтрэлт
- Хаягийн хаалга + нууц үг + authenticator код
- IP жагсаалт тодрох өдөр хоёр мөрөөр хаагдана
Хөгжүүлэгчийн портал
Банк, тээврийн компани, ATG нийлүүлэгч — PetroNet-тэй холбогдох хүн бүрийн эхлэх цэг. API, OAuth2 клиент, eID-ээр нэвтрэх хөгжүүлэгчийн консол.
- Зөвхөн /dev, /api, /oauth2 — илүү юм нээлттэй биш
- eID push + хөтчийн poll, host-only session
- Нийтийн нэвтрэлтийн flood хөгжүүлэгчид нөлөөлөхгүй
Унахаас өмнө харна.
Унавал нэг өдрийн дотор босно.
Систем өөрийгөө хэмждэг, өгөгдлөө өдөр бүр хоёр өөр газарт шифрлэж хадгалдаг. Чимээгүй бүтэлгүйтэл гэж үгүй.
Ажиглалт
Хэмжүүр, дохиолол, Grafana самбарыг хэн ч нэвтрэлтгүйгээр харж болно. Систем ил тод байх нь өөртөө итгэлтэй байгаагийн шинж.
- Нээлттэй landing + /grafana/ самбарууд
- Prometheus хэмжүүр, 15 секундын давтамж
- Монгол хэлтэй брэндлэгдсэн нэвтрэх карт
Нөөцлөлт
Шөнө бүр 03:15-д бүтэн сангийн хуулбар. Хамгийн муу өдөр ч алдагдах нь сүүлийн нэг өдрийн ажил л.
- Хамгийн их алдагдал 24 цаг, хост дээр 14 хоногийн түүх
- age-ээр шифрлээд S3 + restic — хоёр бие даасан байршил
- Эвдэрсэн хост ч түүхээ устгаж чадахгүй
Өнөөдрийн литрээс
өнгөрсөн өвөл хүртэл.
PetroNet одоо хаана хэдэн литр байгааг хэлдэг. Тайлан, аналитик, баримт нь яагаад, хэзээ, цаашид юу болохыг хэлнэ.
Тайлан ба аналитик
Өнгөрсөн өвөл хэд байсан, аль аймагт нөөц хурдан дуусдаг, ирэх сард хэдэн хоног үлдэх вэ — удирдлага, шинжээчийн асуултад зориулсан.
- L0–L6 давхарга: таталт → raw → staging → mart → semantic
- 15 °C залруулсан литр, JODI ангилал
- ШТС-ын тайланг удаашруулахгүй — өөрийн сантай
Ажиллагааны баримт
Суулгах, ажиллуулах, сэргээх бүх алхам бичигдсэн. Код, баримт хоёр нэг репод, нэг PR-д хянагдана.
- API, eID холболт, модуль бичих заавар
- Runbook, deploy, аюулгүй байдлын бодлого
- 7 хэлээр орчуулагдсан README
Арван нэгэн хаалга,
гэхдээ нэг л байшин.
Хаалга бүр өөр хүнд зориулагдсан ч доор нь нэг бинарь, нэг сан, нэг танилт. Шинэ дэд систем нэмэхэд суурь давтагдахгүй.
eID-ээр нэг удаа танигдсан хүн хаана ч ижил хүн. Эрх нь байгууллага, үүргээр — дэд систем бүр дахин асуухгүй.
eID · OIDC issuerКонсолоос өгсөн эрх, ШТС-ын гүйлгээ, нөөцлөлтийн ажиллалт — бүгд нэг өөрчлөгдөхгүй бүртгэлд.
Append-only · hashgit → CI → runner. Хостод гараар юу ч суулгахгүй; 7 тест сценари кодтойгоо хамт хувилбарлагдана.
git → CI → runnerХолбогдох хаалгаа
сонгоод эхэл.
Хэн бэ гэдгээсээ хамаараад хаалгаа сонго. Аль хаалгаар орсон ч нэг eID танилт, нэг аудитын мөр.