Технологічний стек Платформи

Мови програмування

Мова Версія Ліцензія Опис

Java

11.x

GPL v2

Об’єктно орієнтована мова програмування

Groovy

3.0.6

APACHE LICENSE, v2.0

Об’єктно орієнтована динамічна мова програмування, що працює в середовищі JRE

Go

1.19

Copyright (c) 2009 The Go Authors. All rights reserved.

Go мова программування розроблена компанією Google

Python

3.X

PSF License

Мова програмування

JavaScript

V8

BDS license

Мова програмування для розробки веб-застосунків

TypeScript

4.5.5

APACHE LICENSE, v2.0

Мова програмування, представлена Microsoft восени 2012; позиціонується як засіб розробки веб-застосунків, що розширює можливості JavaScript

Фреймворки клієнтських додатків

Технологія Версія Ліцензія Опис

VueJS

3.2.45

MIT

JavaScript бібліотека для створення інтерфейсів користувача при розробці односторінкових застосунків

ReactJS

5.0.1

MIT

JavaScript бібліотека для створення інтерфейсів користувача, яка покликана вирішувати проблеми часткового оновлення вмісту веб-сторінки, з якими стикаються в розробці односторінкових застосунків

Redux

4.1.2

MIT

JavaScript бібліотека призначена для управління станом програм JavaScript

Material UI

4.11.4

MIT

Бібліотека UI компонентів яка реалізує систему material design. Більшість компонентів для вводу користувацьких даних основані на компонентах цієї бібліотеки.

Фреймворки серверних додатків

Технологія

Версія

Ліцензія

Опис

Spring

5.3.13

APACHE LICENSE, v2.0

Java універсальний фреймворк для побудови серверних додатків

Spring Boot

2.6.1

APACHE LICENSE, v2.0

Розширення до Spring Framework для спрощення побудови аплікацій на базі Spring завдяки автоматичній конфігурації та наявності spring boot стартерів

Spring Cloud

2021.0.0

APACHE LICENSE, v2.0

Фреймворк для реалізації типових патернів побудови надійних розподілених систем

Gin Web Framework

1.7.2

MIT

Go фреймворк для побудови серверних додатків

Node.JS

16.18.1

MIT

Платформа для виконання високопродуктивних мережевих застосунків, написаних мовою JavaScript

Засоби скриптування

Технологія

Версія

Ліцензія

Опис

bash

4.2

GNU General Public License, version 3

Сучасна командна оболонка середовища GNU/Linux.

Сховища даних

Технології

Технологія Версія Ліцензія Опис

PostgreSQL

14.5.0

The PostgreSQL Licence

Об’єктно реляційна система керування базами даних

Redis

6.0.8

Three clause BSD license

Розподілене сховище пар ключ-значення, які зберігаються в оперативній пам’яті

Ceph

6.2.0-152

LGPL-2.1, LGPL-3, BSD 3-clause, Apache-2.0, MIT License, Boost Software License, Version 1.0, BSD 3-clause, CC0, Boost Software License, Version 1.0, GNU Affero General Public License, Version 3,

Розподілена файлова система

Розширення

Розширення Версія Ліцензія Опис

Redis Sentinel

6.2.6

Three clause BSD license

High availability рішення для Redis

Pgpool

4.3.1

MIT

Менеджер пула підключень над PostgreSQL, що також дозволяе організувати реплікацію даних, load balancing, кешування даних

pgAdmin 4

6.18

PostgreSQL licence

Веб-застосунок розробки баз даних

Оператори

Оператор Версія Ліцензія Опис

CrunchyData Postgres Operator

5.1.1

APACHE LICENSE, v2.0

PostgresOperator для забезпечення менеджменту PostgreSQL кластеру

Redis Operator

1.1.1

APACHE LICENSE, v2.0

Оператор для налаштування Redis / Redis Sentinel

Оператори

Оператор Версія Ліцензія Опис

OCS Operator

4.10.7

APACHE LICENSE, v2.0

Оператор для налаштування файлової підсистеми OKD

Rook

4.9.8-2

APACHE LICENSE, v2.0

Operator для розгортання та менеджменту Ceph сховища в Kubernetes

Управління інфраструктурою

Технології

Технологія Версія Ліцензія Опис

Terraform

>=1.0

MPL-2.0

Розгортання інфраструктури для платформенних компонентів

Управління контейнерами

Технології

Технологія Версія Ліцензія Опис

Cri-o

1.24

APACHE LICENSE, v2.0

Технологія управління контейнерами, яка надає високорівневий API для взаємодії

Kubernetes

1.24

APACHE LICENSE, v2.0

Платформа оркестрації контейнерів

OKD

4.11

APACHE LICENSE, v2.0

Платформа для побудови, розгортання та управління контейнерами на базі Kubernetes

Helm

3

APACHE LICENSE, v2.0

Пакетний менеджер для Kubernetes

Автоматизація розгортання Платформи, реєстрів та регламенту

Технології

Технологія Версія Ліцензія Опис

Jenkins

2.303.3

MIT

Сервер для організації процесів Безперервної Інтеграції та Розгортання (CI/CD)

Gerrit

3.3.2

APACHE LICENSE, v2.0

Інструмент проведення перевірки та інтеграції коду

Nexus

3.30.0

Eclipse Public License v1.0

Репозиторій для збереження 3rd party та власних артефактів

Оператори

Оператор Версія Ліцензія Опис

EDP Codebase Operator

2.10

APACHE LICENSE, v2.0

Оператор для автоматизованого налаштування Git Server

EDP Gerrit Operator

2.10

APACHE LICENSE, v2.0

Оператор для автоматизованого налаштування Gerrit

EDP Jenkins Operator

2.10

APACHE LICENSE, v2.0

Оператор для автоматизованого налаштування Jenkins

EDP Nexus Operator

2.10

APACHE LICENSE, v2.0

Оператор для автоматизованого налаштування Nexus

Управління користувачами та доступом

Технології

Технологія Версія Ліцензія Опис

Keycloak

15 → 20

APACHE LICENSE, v2.0

Система для управління користувачами та їх доступом, автентифікації, інтеграції з зовнішніми Identity провайдерами

Оператори

Оператор Версія Ліцензія Опис

EDP Keycloak Operator

2.10

APACHE LICENSE, v2.0

Оператор для автоматизованого налаштування Keycloak

Group Sync

0.0.19

APACHE LICENSE, v2

Operator для синхронізації груп користувачів між Keycloak та OKD

Управління зовнішнім трафіком

Технології

Технологія Версія Ліцензія Опис

Kong

3.0.1

APACHE LICENSE, v2.0

Рішення для управлінням доступом до внутрішніх ресурсів. Окрім основного функціоналу платформою також використовуються наступні розширенн:

  • Rate Limiting - дозволяє встановлювати ліміти на кількість викликів від клієнта базуючись на його IP адресі або заголовку запиту.

  • Response Transformer - дозволяє додавати власні заголовки до відповіді сервера.

  • OIDC - плагін власної розробки на основі https://github.com/nokia/kong-oidc. Відповідає за імплементацію OIDC автентифікації та управління сесіями.

Оператори

Оператор Версія Ліцензія Опис

Kong Ingress Controller

2.7.0

APACHE LICENSE, v2.0

Оператор для налаштування Kong

Веб-сервер

Технології

Технологія Версія Ліцензія Опис

Nginx

1.22.1

FreeBSD

Рішення для постачання статичного контенту по запиту

HAProxy

2.2.24

GNU General Public License, version 2

Рішення для балансування навантаження та забезпечення високої доступності

Управління міжсервісною взаємодією

Технології

Технологія Версія Ліцензія Опис

Istio

1.18.0

APACHE LICENSE, v2.0

Рішення для організації надійного транспорту між сервісами, розгорнутими на платформі оркестрації контейнерів

Оператори

Оператор Версія Ліцензія Опис

Istio Operator

1.18.0

APACHE LICENSE, v2.0

Оператор для налаштування Istio

Брокери повідомлень

Технології

Технологія Версія Ліцензія Опис

Kafka

3.0.0

APACHE LICENSE, v2.0

Платформа розподілених потокових трансляцій із відкритим кодом

Kafka Schema Registry

6.1.1

Confluent Community License Version 1.0

Реєстр (сховище та пошук) для опису структур даних kafka messages (Avro schema, JSON schema, Protobuf schema)

Оператори

Оператор Версія Ліцензія Опис

Strimzi

0.28

APACHE LICENSE, v2

Kafka operator для розгортування та менеджменту Kafla cluster

Сховище секретів

Технології

Технологія Версія Ліцензія Опис

Hashicorp Vault

1.9.7

Mozilla Public License Version 2.0

Система управління секретами

Оператори

Оператор Версія Ліцензія Опис

External Secrets Operator

0.7.0

APACHE LICENSE, v2.0

Operator для забезпечення інтеграції Hashicorp Vault з Kubernetes Secrets

Reloader

1.0.25

APACHE LICENSE, v2.0

Operator для спостереження за змінами в ConfigMaps та Secrets та їх оновлення на подах компонентів реєстру

Управління бізнес-процесами

Технології

Технологія Версія Ліцензія Опис

Camunda BPM

7.16.0

APACHE LICENSE, v2.0

Рішення для автоматизованого розгортання та виконання бізнес-процесів описаних у BPMN нотації та DMN бізнес-правил

Бібліотеки

Бібліотека Версія Ліцензія Опис

BPMN.JS SDK

10.0.0

Copyright (c) 2014-present Camunda Services GmbH

JavaScript бібліотека для створення інструментів візуального моделювання бізнес-процесів згідно BPMN нотації

Управління UI-формами

Бібліотеки

Бібліотека Версія Ліцензія Опис

Form.IO SDK

4.13.12

MIT

JavaScript бібліотека для створення інструментів моделювання користувацьких форм використовуючи Drag&Drop підхід з можливостями попереднього перегляду

Управління гео-даними

Технології

Технологія Версія Ліцензія Опис

GeoServer

2.21.0

GNU General Public License, version 2

Сервер, що дозволяє проводиті менеджмент та розповсюдження гео даних

Розширення

Розширення Версія Ліцензія Опис

PostGIS

3.2.1

GPL v2

Geo розширення до PostgreSQL бази даних

Бібліотеки

Бібліотека Версія Ліцензія Опис

Leaflet

1.8.0

BSD 2-Clause "Simplified" License

UI Javascript Бібліотека для побудови mobile-friendly інтерактивних карт

Звітність та візуалізація даних

Технології

Технологія Версія Ліцензія Опис

Redash

10.1.0

BSD 2-Clause "Simplified" License

Рішення для моделювання та візуалізації звітів на базі реляційних та нереляційних сховищ

Робота з ЕЦП (UA)

Бібліотеки

Бібліотека Версія Ліцензія Опис

EUSignCP-Java

1.3.236

Commercial license

ІІТ Java бібліотека підпису

eusign.js

20220527

Commercial license

ІІТ JavaScript бібліотека електронного підпису. Використовується для інтеграції з віджетом підпису.

Інтернаціоналізація

Бібліотеки

Бібліотека Версія Ліцензія Опис

i18next

20.6.0

MIT

UI Javascript Фреймворк для інтернаціоналізації. Використовується разом з react.i18next.

Управління еволюцією бази даних

Технології

Технологія Версія Ліцензія Опис

Liquibase

4.3

APACHE LICENSE, v2.0

Інструмент для інкрементального управління структурою БД та даними

Обмін поштовими повідомленнями

Технології

Технологія Версія Ліцензія Опис

Mailu

1.8

?

Пакет ПЗ для відправки та отримання поштових повідомлень

Postfix

?

?

Поштовий SMAP-агент

Dovecot

?

?

Високопродуктивний IMAP / POP3 поштовий сервер

Roundcube

?

?

Поштовий IMAP-клієнт з веб-інтерфейсом

ClamAV

?

?

Пакет проти-вірусного ПЗ для виявлення троянів, вірусів, шкідливих програм та інших зловмисних загроз

Rspamd

?

?

ПЗ для виявлення та фільтрації поштового спаму

Перевірка якості регламенту

Технології

Технологія Версія Ліцензія Опис

Wiremock

2.27.2

APACHE LICENSE, v2.0

Інструмент для задання тестовоє поведінки RestAPI сервісів

Cucumber

7.3.0

MIT

Інструмент для побудови Behavior-Driven Development (BDD) тестів

Selenium

4.4.0

APACHE LICENSE, v2.0

Інструмент для побудови UI WebBrowser UI тестів з використанням вебдрайверів

Бібліотеки

Бібліотека Версія Ліцензія Опис

JUnit

5.6.2,5.8.2

Eclipse Public License v2.0

Java бібліотека для написання Unit тестів

Rest-assured

5.1.1

APACHE LICENSE, v2.0

Бібліотека для завдання валідації відповідей від Rest API сервісів використовуючи специфічну мову DSL

Моніторинг подій

Технології

Технологія Версія Ліцензія Опис

Kiali

1.35.0

APACHE LICENSE, v2.0

UI застосунок для Istio Service Mesh

Jaeger

1.24.0

APACHE LICENSE, v2.0

Система для забезпечення розподіленого трейсингу сервісів платформи

Grafana

7.4.5

APACHE LICENSE, v2.0

Перегляд та аналіз метрик системи, налаштування нотифакацій по метрикам

Prometheus

2.24.0

APACHE LICENSE, v2.0

Timeseries база данних для збереження метрик платформи та query engine по цим даним

Розширення

Розширення Версія Ліцензія Опис

Thanos

APACHE LICENSE, v2.0

Надбудова над Prometheus, що забезпечує необмежений розмір сховища для метрик та high-availability для декількох Prometheus instances

Оператори

Оператор Версія Ліцензія Опис

Cluster Monitoring Operator

4.11.0

APACHE LICENSE, v2.0

Оператор для налаштування підсистеми моніторингу OKD

Jaeger Operator

1.24.0

APACHE LICENSE, v2.0

Оператор для налаштування Jaeger

Kiali Operator

1.25.0

APACHE LICENSE, v2.0

Оператор для налаштування Kiali

Prometheus Operator

4.11.0

APACHE LICENSE, v2.0

Оператор для налаштування Prometheus

Журналювання подій

Технології

Технологія Версія Ліцензія Опис

Elasticsearch

7.16.2

APACHE LICENSE, v2.0

Пошуковий сервер що надає розподіленийбповнотекстовий пошуковий рушій з HTTP веб-інтерфейсом і підтримкою безсхемних JSON документів. Виступає в ролі сховища та пошукового сервісу для логів

Kibana

4.11

APACHE LICENSE, v2.0

Система для візуалізації даних з Elasticsearch

Fluentd

APACHE LICENSE, v2.0

Платформа для збереження даних логування. Відповідає за збір та зберігання логів в Elasticsearch

Оператори

Оператор Версія Ліцензія Опис

Cluster Logging Operator

5.5.4

APACHE LICENSE, v2.0

Оператор для налаштування підсистеми журналювання OKD

Резервне копіювання та відновлення

Технології

Технологія Версія Ліцензія Опис

Minio

RELEASE.2021-04-06T23-11-00Z

GNU AGPL v3

S3 сумісний сервіс збереження об’єктів

Velero

2.14.7

APACHE LICENSE, v2.0

Надає інструменти для резервного копіювання та відновлення ресурсів кластера Kubernetes та постійних томів сховища

pgBackRest

2.38

MIT

Рішення для забезпечення backup/restore баз даних PostgreSQL

Документація

Технології

Технологія Версія Ліцензія Опис

Antora

3.1.1

Mozilla Public License Version 2.0

Генератор документації з asciidoc в html5 використовуючи Asciidoctor