Техническое описание сервисов¶
Core компоненты¶
DICTIONARIES¶
Описание функций сервиса: сервис обеспечивает работу со справочниками и отображение справочников внутри портала.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ANALYTIC_LOGGING_ENABLED | 0 | Включение сервиса Reports | |
| API_BASE_URL | dicts | Обязательно | Префикс API сервиса |
| CALENDAR_SERVICE_URI | http://calendar/ | URL сервиса Calendar | |
| CMS_SERVICE_URI | http://cms/ | Обязательно | URL сервиса CMS |
| COMMENTS_SERVICE_URI | http://comments | URL сервиса Comments | |
| DICTIONARY_SERVICE_URI | http://dictionaries | URL сервиса Dictionary | |
| DISCOVERY_SERVICE_URI | http://discovery-backend | Обязательно | URI сервиса Discovery |
| EVENTS_SERVICE_URI | http://events/api/events/ | URL и префикс сервиса Events | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| FILESTORAGE_SERVICE_URI | http://filestorage | URL сервиса Filestorage | |
| GAMIFICATION_SERVICE_URI | http://gamification | URL сервиса Gamification | |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| GUNICORN_WORKERS | 4 | Количество рабочих процессов Gunicorn | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KAFKA_TOPIC_WS | websocket | Обязательно | Топик Kafka, который слушает сервис notifications:websoket |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| NEWS_SERVICE_URI | http://news | URL сервиса News | |
| PG_DB | dictionaries | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| TASKS_SERVICE_URI | http://tasks/ | URL сервиса Tasks | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/dictionaries:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c gunicorn --pid /tmp/dictionaries.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate --noinput -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput
- Порт контейнера:
-
Инфраструктурные зависимости:
- Redis.
-
PostgreSQL.
-
Kafka.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
DISCOVERY¶
Описание функций сервиса: сервис обеспечивает работу сервиса наблюдения за состоянием сервисов и позволяет обновлять справочники внутри портала.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ANALYTIC_LOGGING_ENABLED | 0 | Включение сервиса Reports | |
| API_BASE_URL | /api/discovery | Обязательно | Префикс API сервиса |
| AWS_S3_ENDPOINT_URL | https://hb.bizmrg.com | Обязательно | Адрес объектного хранилища S3 |
| AWS_STORAGE_BUCKET_NAME | media | Обязательно | Имя контейнера объектного хранилища S3 |
| DICTIONARIES_API_URL | /dicts/internal | Префикс API сервиса Dictionary | |
| DICTIONARIES_SERVICE | http://dictionaries | URL сервиса Dictionary | |
| HEALTH_CHECKERS_DNS_FILE | /app/config/health-config.json | Обязательно | Файл в котором перечисляются имя сервера и ее хост |
| HEALTH_CHECKERS_ENABLED_SERVERS | blogs,groups,profile,calendar,dictionaries,notifications,filestorage,asyncblogs,news,events,meetings,polls,asyncsurvey,comments,tasks,gamification,settings,cms | Обязательно | Список сервисов для мониторинга на вкладке "Состояние портала" |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| AWS_ACCESS_KEY_ID | **** | Обязательно | ID ключа для доступа в объектное хранилище S3 |
| AWS_SECRET_ACCESS_KEY | ***** | Обязательно | Секретный ключ для доступа в объектное хранилище S3 |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/discovery:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную -
Команда запуска:
sh -c uvicorn main:app --workers 4 --host 0.0.0.0 --port 8000 -
Инициализация при развертывании:
sh -c curl --location --request POST http://discovery-backend/api/discovery/internal/init_dictionaries/
- Порт контейнера:
-
Инфраструктурные зависимости:
-
Redis.
-
Kafka.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
FILESTORAGE¶
Описание функций сервиса: сервис отвечает за работу с различными файловыми хранилищами в портале.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ALLOWED_PARALLEL_UPLOADS | 6 | Количество параллельных разрешенных загрузок файлов для одного пользователя | |
| ANALYTIC_LOGGING_ENABLED | 0 | Включение сервиса Reports | |
| API_BASE_URL | api/filestorage/ | Обязательно | Префикс API сервиса |
| AWS_S3_ENDPOINT_URL | https://hb.bizmrg.com | Обязательно | Адрес объектного хранилища S3 |
| AWS_STORAGE_BUCKET_NAME | media | Обязательно | Имя контейнера объектного хранилища S3 |
| COMMENTS_BASE_URL | /api/comments/internal | Префикс API сервиса Comments | |
| COMMENTS_SERVICE_URI | http://comments | URL сервиса Comments | |
| DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 | Максимальный размер файла для загрузки. Указывается значение в байтах | |
| DICTIONARIES_BASE_URL | /dicts/internal | Префикс API сервиса Dictionary | |
| DICTIONARY_SERVICE_URI | http://dictionaries | URL сервиса Dictionary | |
| ENABLE_NOTIFICATION | TRUE | Переменная для более ранних версий | |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| GUNICORN_WORKERS | 4 | Количество рабочих процессов Gunicorn | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| NOTIFICATION_FILE | ph | Переменная для более ранних версий | |
| PG_DB | filestorage | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| REACTIONS_API_URL | http://reactions-backend/api/reactions/ | Обязательно | URL сервиса Reactions |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| SITE_DOMAIN | https://people-hub.ru/ | Адрес хоста, где развернут портал VK People Hub | |
| TAGS_API_URL | http://tags-backend/api/tags/ | Обязательно | URL сервиса Tags |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| AWS_ACCESS_KEY_ID | **** | Обязательно | ID ключа для доступа в объектное хранилище S3 |
| AWS_SECRET_ACCESS_KEY | ***** | Обязательно | Секретный ключ для доступа в объектное хранилище S3 |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
-
Целевой образ:
- docker.people-hub.ru/ph/filestorage:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c gunicorn --pid /tmp/filestorage-gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate --noinput -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput
- Порт контейнера:
-
Сервисные контейнеры:
- Celery worker: запускается из целевого образа командой
sh -c sh -c celery -A application worker -l info - Celery beat: запускается из целевого образа командой
sh -c sh -c celery -A application beat -l info - Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
- Celery worker: запускается из целевого образа командой
-
Инфраструктурные зависимости:
- Redis.
-
PostgreSQL.
-
Kafka.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:400m
memory:2336Mi
- requests:
NOTIFICATIONS¶
Описание функций сервиса: сервис обеспечивает работу уведомлений внутри портала.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | api/notifications/ | Обязательно | Префикс API сервиса |
| ASYNC_BLOGS_API_URL | http://asyncblogs/api/async-blogs/ | Обязательно | URL сервиса Async-blogs |
| CALENDAR_SERVICE_URI | http://calendar/ | URL сервиса Calendar | |
| CMS_SERVICE_URI | http://cms/ | Обязательно | URL сервиса CMS |
| COMMENTS_SERVICE_URI | http://comments | URL сервиса Comments | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| EVENTS_SERVICE_URI | http://events/api/events/ | URL и префикс сервиса Events | |
| FILESTORAGE_SERVICE_URI | http://filestorage | URL сервиса Filestorage | |
| GAMIFICATION_SERVICE_URI | http://gamification | URL сервиса Gamification | |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| IDEAS_SERVICE_URI | http://ideas/ | URL сервиса IDEAS | |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KAFKA_TOPIC_WS | websocket | Обязательно | Топик Kafka, который слушает сервис notifications:websoket |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| NEWS_SERVICE_URI | http://news | URL сервиса News | |
| PG_DB | notifications | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| TASKS_SERVICE_URI | http://tasks/ | URL сервиса Tasks | |
| TIMELINES_SERVICE_URI | http://timelines-backend | Обязательно | URI сервиса Timelines |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| KAFKA_GROUP_ID | |||
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/notifications:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% gunicorn --pid /tmp/gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput || exit 0
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
NOTIFICATIONS-WEBSOCKETS¶
Описание функций сервиса: сервис отвечает за работу и отображение уведомлений пользователя в правом верхнем углу портала.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ANALYTIC_LOGGING_ENABLED | 0 | Включение сервиса Reports | |
| API_BASE_URL | /notify_ws | Обязательно | Префикс API сервиса |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KAFKA_CONSUMER_SERVICE_GROUP_ID | Group_id для топика Kafka Consumer в сервисе notifications:websoket | ||
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| SERVER_HOST | 0.0.0.0 | Хост контейнера | |
| SERVER_PORT | 8000 | Порт контейнера | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| _KEY | |||
| KAFKA_CONSUMER_SERVICE_GROUP_ID | Group_id для топика Kafka Consumer в сервисе notifications:websoket | ||
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/notifications-websockets:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную SERVER_PORT - Команда запуска:
python server.py
- Порт контейнера:
-
Инфраструктурные зависимости:
- Kafka.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
PAGES¶
Описание функций сервиса: сервис отвечает за работу и отображения главной страницы портала, за работу и отображение виджетов на главной странице портала.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | pages/ | Обязательно | Префикс API сервиса |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| FILESTORAGE_FOLDER | Название root папки в сервисе Filestorage | ||
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_GRANT_TYPE | password | Обязательно | Тип подтверждения, например пароль (password) |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | pages | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| SENTRY_DSN | https://*@sentry.digital-insider.ru/2 | Обязательно | Адрес Sentry |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
-
Целевой образ:
- docker.people-hub.ru/ph/pages:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% gunicorn --pid /tmp/gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload - Миграции:
sh -c python manage.py migrate - Инициализация при развертывании:
sh -c python manage.py create_default_data - Инициализация при обновлении:
sh -c python manage.py change_default_data || exit 0 - Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput || exit 0
- Порт контейнера:
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
PROFILE¶
Описание функций сервиса: сервис обеспечивает работу с профилями пользователей на портале.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ANALYTIC_LOGGING_ENABLED | 0 | Включение сервиса Reports | |
| ANALYTIC_TOPIC | analytic | Топик Kafka для сервиса Reports | |
| API_BASE_URL | profile/ | Обязательно | Префикс API сервиса |
| AWS_S3_ENDPOINT_URL | https://hb.bizmrg.com | Обязательно | Адрес объектного хранилища S3 |
| AWS_STORAGE_BUCKET_NAME | media | Обязательно | Имя контейнера объектного хранилища S3 |
| DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 | Максимальный размер файла для загрузки. Указывается значение в байтах | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DECLINE_NOT_PUBLIC_SKILLS | 1 | Отклонять неопубликованные навыки | |
| DICTIONARIES_BASE_URL | /dicts/internal | Префикс API сервиса Dictionary | |
| DICTIONARY_SERVICE_URI | http://dictionaries | URL сервиса Dictionary | |
| DJANGO_SETTINGS_MODULE | application.settings | Обязательно | Путь к файлу с настройками для Django settings.py |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| ENABLE_EVENTS | 1 | Включить события | |
| ENABLE_EVENTS_BUFFER | 1 | Включить буфер для событий по типу | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GROUPS_SERVICE_URI | http://groups | Обязательно | URL сервиса Groups |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| GUNICORN_WORKERS | 4 | Количество рабочих процессов Gunicorn | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| MAX_LIST_COUNT | 1000 | Ограничение на список id в POST списочных ручках | |
| PG_DB | profile | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILER | 0 | Включено ли профилирование | |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| SENTRY_DSN | https://*@sentry.digital-insider.ru/2 | Обязательно | Адрес Sentry |
| SERVICE_NAME | cms | Имя сервиса | |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| AWS_ACCESS_KEY_ID | **** | Обязательно | ID ключа для доступа в объектное хранилище S3 |
| AWS_SECRET_ACCESS_KEY | ***** | Обязательно | Секретный ключ для доступа в объектное хранилище S3 |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| FILESTORAGE_SERVICE_AUTH_TOKEN | ***** | Обязательно | Токен для доступа сервису к Filestorage, когда нет пользователя |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| SECRET_KEY | Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности |
-
Целевой образ:
- docker.people-hub.ru/ph/profile:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% gunicorn --pid /tmp/gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput || exit 0
- Порт контейнера:
-
Сервисные контейнеры:
- Celery worker: запускается из целевого образа командой
sh -c sh -c celery -A application worker -l info - Celery beat: запускается из целевого образа командой
sh -c sh -c celery -A application beat -l info - Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
- Celery worker: запускается из целевого образа командой
-
Инфраструктурные зависимости:
- Redis.
-
PostgreSQL.
-
Kafka.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
ROLES¶
Описание функций сервиса: сервис отвечает за разделение пользователей по ролям в рамках ролевой модели, и за доступы и разрешения у данных ролей.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ANALYTIC_LOGGING_ENABLED | 0 | Включение сервиса Reports | |
| API_BASE_URL | /api/roles | Обязательно | Префикс API сервиса |
| CMS_API_URL | http://cms/ | Обязательно | URL сервиса CMS |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DJANGO_SETTINGS_CONFIGURATIONS | 0 | Используте | Переменная для более ранних версий |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_BASE_URL | keycloak:80/auth | Обязательно | Адрес Keycloak |
| KEYCLOAK_API_GRANT_TYPE | password | Обязательно | Тип подтверждения, например пароль (password) |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| MAX_PAGE_SIZE | 100 | максимальный размер страницы при пагинации | |
| PG_DB | roles | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| SERVER_HOST | 0.0.0.0 | Хост контейнера | |
| SERVER_PORT | 8000 | Порт контейнера | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/roles:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную SERVER_PORT - Команда запуска:
sh -c uvicorn main:app --host 0.0.0.0 --port 8000 --workers 8 -
Миграции:
sh -c alembic upgrade head -
Создание пользователя панели администратора:
sh -c python create_admin_panel_user.py $DJANGO_SUPERUSER_USERNAME $DJANGO_SUPERUSER_PASSWORD
- Порт контейнера:
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
- Keycloak API.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
Сервисы VKPH¶
ASYNCBLOGS¶
Описание функций сервиса: сервис представляет собой рабочий инструмент коммуникации сотрудников внутри компании, предназначенный для обмена экспертными знаниями, информацией и опытом.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ALLOWED_HOSTS | * | Список разрешенных IP | |
| API_BASE_URL | /api/async-blogs | Обязательно | Префикс API сервиса |
| BASE_HOST | https://people-hub.ru/ | Адрес хоста, где развернут портал VK People Hub | |
| COMMENTS_SERVICE_URL | http://comments/api/comments/ | Обязательно | URL и префикс сервиса Comments |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DICTIONARY_SERVICE_URI | http://dictionaries | URL сервиса Dictionary | |
| EVENTS_BASE_URL | http://events/api/events/ | URL и префикс сервиса Events | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_BASE_URL | keycloak:80/auth | Обязательно | Адрес Keycloak |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | blogs | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| POLLS_API_URL | http://polls/api/polls/ | URL и префикс сервиса Polls | |
| PROFILE_API_URL | http://profile | Обязательно | URL сервиса Profile |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| REACTIONS_API_URL | http://reactions-backend/api/reactions/ | Обязательно | URL сервиса Reactions |
| ROLES_API_URL | http://roles | URL сервиса Roles | |
| TAGS_API_URL | http://tags-backend/api/tags/ | Обязательно | URL сервиса Tags |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| AWS_ACCESS_KEY_ID | **** | Обязательно | ID ключа для доступа в объектное хранилище S3 |
| AWS_SECRET_ACCESS_KEY | ***** | Обязательно | Секретный ключ для доступа в объектное хранилище S3 |
| CLIENT_ID | |||
| DEMO_USER_ID | |||
| FILESTORAGE_SERVICE_AUTH_TOKEN | ***** | Обязательно | Токен для доступа сервису к Filestorage, когда нет пользователя |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| SECRET_KEY | Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности | ||
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/asyncblogs:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную - Команда запуска:
sh -c uvicorn main:app --host 0.0.0.0 --port 8000 --workers 8 - Миграции:
sh -c alembic upgrade head
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c sh -c python -m kafka_consumer
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
- Keycloak API.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
CALENDAR¶
Описание функций сервиса: сервис замещает функции планирования времени в почтовом корпоративном программном обеспечении. Также в календаре сервиса можно планировать персональное рабочее время, отражая в нём задачи пользователя и привязывая их к времени в календаре.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | api/calendar/ | Обязательно | Префикс API сервиса |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_GRANT_TYPE | password | Обязательно | Тип подтверждения, например пароль (password) |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| MEETINGS_SERVICE_URI | http://meetings-backend/api/meetings/ | Обязательно | URI сервиса Meetings |
| PG_DB | calendar | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| FILESTORAGE_SERVICE_AUTH_TOKEN | ***** | Обязательно | Токен для доступа сервису к Filestorage, когда нет пользователя |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| SECRET_KEY | Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности | ||
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/calendar:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% gunicorn --pid /tmp/gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate --noinput -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput || exit 0
- Порт контейнера:
-
Сервисные контейнеры:
- Celery worker: запускается из целевого образа командой
sh -c sh -c celery -A application worker -l info - Celery beat: запускается из целевого образа командой
sh -c sh -c celery -A application beat -l info - Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
- Celery worker: запускается из целевого образа командой
-
Инфраструктурные зависимости:
- Redis.
-
PostgreSQL.
-
Kafka.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
CMS¶
Описание функций сервиса: сервис позволяет хранить данные в виде веб страниц с иерархией в виде групп страниц или без нее в виде страниц.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ALLOWED_HOSTS | * | Список разрешенных IP | |
| API_BASE_URL | /api/cms | Обязательно | Префикс API сервиса |
| BASE_HOST | https://people-hub.ru/ | Адрес хоста, где развернут портал VK People Hub | |
| COMMENTS_SERVICE_URL | http://comments/api/comments/ | Обязательно | URL и префикс сервиса Comments |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DICTIONARY_API_URL | http://dictionaries | Обязательно | URL сервиса Dictionary |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | cms | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_API_URL | http://profile | Обязательно | URL сервиса Profile |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| REACTIONS_API_URL | http://reactions-backend/api/reactions/ | Обязательно | URL сервиса Reactions |
| TAGS_API_URL | http://tags-backend/api/tags/ | Обязательно | URL сервиса Tags |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| SECRET_KEY | Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности | ||
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/cms:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную - Команда запуска:
sh -c uvicorn main:app --workers 8 --host 0.0.0.0 --port 8000 -
Миграции:
sh -c alembic upgrade head -
Создание пользователя панели администратора:
sh -c python create_admin_panel_user.py $DJANGO_SUPERUSER_USERNAME $DJANGO_SUPERUSER_PASSWORD
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c sh -c python -m kafka_sdk.async_consumer
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
COMMENTS¶
Описание функций сервиса: сервис позволяет пользователям писать, редактировать, удалять комментарии в разных разделах портала.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | /api/comments | Обязательно | Префикс API сервиса |
| ASYNC_BLOGS_API_URL | http://asyncblogs/api/async-blogs/ | Обязательно | URL сервиса Async-blogs |
| CMS_API_URL | http://cms/ | Обязательно | URL сервиса CMS |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DICTIONARY_API_URL | http://dictionaries | Обязательно | URL сервиса Dictionary |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GAMIFICATION_API_URL | http://gamification | URL сервиса Gamification | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| IDEAS_API_URL | http://ideas-backend/api/ideas/ | Обязательно | URI сервиса Ideas |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_AUTH_DB_UPDATE_ENABLED | Автообновление данных пользователя из данных Keycloak токена | ||
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| NEWS_API_URL | http://news/api/news/ | Обязательно | URL и префикс сервиса News |
| PG_DB | comments | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_API_URL | http://profile | Обязательно | URL сервиса Profile |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| REACTIONS_API_URL | http://reactions-backend/api/reactions/ | Обязательно | URL сервиса Reactions |
| SENTRY_DSN | https://*@sentry.digital-insider.ru/2 | Обязательно | Адрес Sentry |
| SERVER_HOST | 0.0.0.0 | Хост контейнера | |
| SERVER_PORT | 8000 | Порт контейнера | |
| TASK_API_URL | http://tasks/api/tasks/ | Обязательно | URL и префикс сервиса Tasks |
| TIMELINES_API_URL | http://timelines-backend/api/timelines/ | Обязательно | URL сервиса Timelines |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/comments:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную SERVER_PORT - Команда запуска:
sh -c uvicorn main:app --workers 8 --host 0.0.0.0 --port 8000 -
Миграции:
sh -c alembic upgrade head -
Создание пользователя панели администратора:
sh -c python create_admin_panel_user.py $DJANGO_SUPERUSER_USERNAME $DJANGO_SUPERUSER_PASSWORD
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c sh -c python -m kafka_consumer
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
EVENTS¶
Описание функций сервиса: сервис позволяет информировать сотрудников организации о корпоративных мероприятиях. Корпоративные мероприятия, создаваемые в данном сервисе, могут носить уведомляющий, обучающий, развивающий, информационный, а также развлекающий характер.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | api/events/ | Обязательно | Префикс API сервиса |
| CALENDAR_SERVICE_URI | http://calendar/ | URL сервиса Calendar | |
| CELERY_LOG_LEVEL | DEBUG | Уровень логирования в Celery | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DICTIONARY_SERVICE_URI | http://dictionaries | URL сервиса Dictionary | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| GUNICORN_WORKERS | 4 | Количество рабочих процессов Gunicorn | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_BASE_URL | keycloak:80/auth | Обязательно | Адрес Keycloak |
| KEYCLOAK_API_GRANT_TYPE | password | Обязательно | Тип подтверждения, например пароль (password) |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | events | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_BASE_URL | http://profile | Обязательно | URL сервиса Profile |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| ROLES_API_URL | http://roles | URL сервиса Roles | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/events:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c gunicorn --pid /tmp/gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate --noinput %srv.migrations%%srv.migrations% python manage.py createcachetable -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput
- Порт контейнера:
-
Сервисные контейнеры:
-
Celery worker: запускается из целевого образа командой
sh -c sh -c celery -A application worker -l info -
Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
-
-
Инфраструктурные зависимости:
- Redis.
-
PostgreSQL.
-
Kafka.
- Keycloak API.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
FRONTEND¶
Описание функций сервиса: сервис отвечает за внешний вид портала, отображение интерактивных элементов и контента.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ANALYTIC_LOGGING_ENABLED | 0 | Включение сервиса Reports | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| NGINX_LG_COMP | false | Включить поддержку ссылок старого формата в nginx | |
| FOO_BAR |
-
Целевой образ:
- docker.people-hub.ru/ph/frontend:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную NULL - Команда запуска:
/app/start.sh
- Порт контейнера:
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:null
memory:null
- requests:
GAMIFICATION¶
Описание функций сервиса: сервис содержит в себе инструменты для вовлечения работников в жизнь компании и проявления корпоративно полезной инициативы.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | api/gamification/ | Обязательно | Префикс API сервиса |
| BASE_HOST | https://people-hub.ru/ | Адрес хоста, где развернут портал VK People Hub | |
| COMMENTS_SERVICE_URI | http://comments | URL сервиса Comments | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DICTIONARY_SERVICE_URI | http://dictionaries | URL сервиса Dictionary | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| FILESTORAGE_HOST | http://hostname.ru | Обязательно | Нужно указывать именно имя хоста, не адрес сервиса |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_BASE_URL | keycloak:80/auth | Обязательно | Адрес Keycloak |
| KEYCLOAK_API_GRANT_TYPE | password | Обязательно | Тип подтверждения, например пароль (password) |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | gamification | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_BASE_URL | http://profile | Обязательно | URL сервиса Profile |
| REACTIONS_API_URL | http://reactions-backend/api/reactions/ | Обязательно | URL сервиса Reactions |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| DEBUG_SERVICE_AUTH_TOKEN | |||
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| SECRET_KEY | Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности | ||
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/gamification:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c gunicorn --pid /tmp/gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput || exit 0
- Порт контейнера:
-
Сервисные контейнеры:
- Celery worker: запускается из целевого образа командой
sh -c sh -c celery -A application.celery_app worker -l info - Celery beat: запускается из целевого образа командой
sh -c sh -c celery -A application.celery_app beat -l info - Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
- Celery worker: запускается из целевого образа командой
-
Инфраструктурные зависимости:
- Redis.
-
PostgreSQL.
-
Kafka.
- Keycloak API.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
GROUPS¶
Описание функций сервиса: сервис отображает все уровни подчинения внутри организационной структуры компании, команды сотрудников и их руководителей.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | api/groups/ | Обязательно | Префикс API сервиса |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| ENABLE_PUBLIC_API_ALPHA | 0 | Включить public API для профилей, групп и справочников | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| GUNICORN_WORKERS | 4 | Количество рабочих процессов Gunicorn | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_BASE_URL | keycloak:80/auth | Обязательно | Адрес Keycloak |
| KEYCLOAK_API_GRANT_TYPE | password | Обязательно | Тип подтверждения, например пароль (password) |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | groups | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| ROLES_API_URL | http://roles | URL сервиса Roles | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/groups:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% gunicorn --pid /tmp/gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput
- Порт контейнера:
-
Сервисные контейнеры:
- Celery worker: запускается из целевого образа командой
sh -c sh -c celery -A application.celery_app worker -l info - Celery beat: запускается из целевого образа командой
sh -c sh -c celery -A application.celery_app beat -l info - Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
- Celery worker: запускается из целевого образа командой
-
Инфраструктурные зависимости:
- Redis.
-
PostgreSQL.
-
Kafka.
- Keycloak API.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
IDEAS¶
Описание функций сервиса: сервис предоставляет возможность пользователю предлагать свои идеи, оценивать и комментировать идеи других пользователей. Идея после рассмотрения может быть одобрена или отклонена.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | api/ideas/ | Обязательно | Префикс API сервиса |
| BASE_HOST | https://people-hub.ru/ | Адрес хоста, где развернут портал VK People Hub | |
| COMMENTS_SERVICE_URI | http://comments | URL сервиса Comments | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GROUPS_API_URL | http://groups | URL сервиса Groups | |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_BASE_URL | keycloak:80/auth | Обязательно | Адрес Keycloak |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| PG_DB | ideas | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| ROLES_API_URL | http://roles | URL сервиса Roles | |
| TAGS_API_URL | http://tags-backend/api/tags/ | Обязательно | URL сервиса Tags |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| SECRET_KEY | Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности | ||
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/ideas:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c gunicorn --pid /tmp/gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload - Миграции:
sh -c python manage.py migrate --noinput
- Порт контейнера:
-
Сервисные контейнеры:
-
Celery worker: запускается из целевого образа командой
sh -c sh -c celery -A application.celery_app worker -l info -c 2 -
Kafka consumer: запускается из целевого образа командой
sh -c /bin/sh -c python manage.py kafka_consumer
-
-
Инфраструктурные зависимости:
- Redis.
-
PostgreSQL.
-
Kafka.
- Keycloak API.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:100m
memory:128Mi
- requests:
MEETINGS¶
Описание функций сервиса: сервис позволяет осуществить бронирования сотрудниками компании корпоративных помещений (переговорных комнат, конференц-залов, спортивных площадок) для организации встреч и мероприятий.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | api/meetings/ | Обязательно | Префикс API сервиса |
| CALENDAR_SERVICE_URI | http://calendar/ | URL сервиса Calendar | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| GUNICORN_WORKERS | 4 | Количество рабочих процессов Gunicorn | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_BASE_URL | keycloak:80/auth | Обязательно | Адрес Keycloak |
| KEYCLOAK_API_GRANT_TYPE | password | Обязательно | Тип подтверждения, например пароль (password) |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | meetings | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| ROLES_SERVICE_URI | http://roles | URL сервиса Roles | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| FILESTORAGE_SERVICE_AUTH_TOKEN | ***** | Обязательно | Токен для доступа сервису к Filestorage, когда нет пользователя |
| JWT_PUB_KEY | Обязательно | Публичный ключ для расшифровки токена | |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/meetings:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% gunicorn --pid /tmp/gunicorn.pid meeting_rooms.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput || exit 0
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
- Keycloak API.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
NEWS¶
Описание функций сервиса: сервис представляет собой функциональный блок, предназначенный для информирования сотрудников о событиях компании. Сервис позволяет создавать и оформлять новостные сообщений с ранжированием и категоризацией новостей в информационном пространстве сотрудников компании.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | /api/news | Обязательно | Префикс API сервиса |
| BASE_HOST | https://people-hub.ru/ | Адрес хоста, где развернут портал VK People Hub | |
| COMMENTS_API_URL | http://comments | URL сервиса Comments | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DICTIONARY_SERVICE | http://dictionaries | URL сервиса Dictionary | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_GRANT_TYPE | password | Обязательно | Тип подтверждения, например пароль (password) |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | news | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| REACTIONS_API_URL | http://reactions-backend/api/reactions/ | Обязательно | URL сервиса Reactions |
| ROLES_API_URL | http://roles | URL сервиса Roles | |
| SERVER_HOST | 0.0.0.0 | Хост контейнера | |
| TAGS_API_URL | http://tags-backend/api/tags/ | Обязательно | URL сервиса Tags |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| FILESTORAGE_SERVICE_AUTH_TOKEN | ***** | Обязательно | Токен для доступа сервису к Filestorage, когда нет пользователя |
| JWT_PUB_KEY | Обязательно | Публичный ключ для расшифровки токена | |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| SERVICE_AUTH_TOKEN | |||
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/news:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную - Команда запуска:
sh -c uvicorn main:app --workers 8 --host 0.0.0.0 --port 8000 - Миграции:
sh -c alembic upgrade head
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c /bin/sh -c /app/scripts/kafka_consumer.sh
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
POLLS¶
Описание функций сервиса: сервис позволяет прикрепить мини-опрос к посту пользователя.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ALLOWED_HOSTS | * | Список разрешенных IP | |
| API_BASE_URL | api/polls/ | Обязательно | Префикс API сервиса |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_BASE_URL | keycloak:80/auth | Обязательно | Адрес Keycloak |
| KEYCLOAK_API_GRANT_TYPE | password | Обязательно | Тип подтверждения, например пароль (password) |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | polls | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| SENTRY_DSN | https://*@sentry.digital-insider.ru/2 | Обязательно | Адрес Sentry |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| DEBUG_SERVICE_AUTH_TOKEN | |||
| FILESTORAGE_SERVICE_AUTH_TOKEN | ***** | Обязательно | Токен для доступа сервису к Filestorage, когда нет пользователя |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| SECRET_KEY | Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности | ||
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/polls:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% gunicorn --pid /tmp/gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput || exit 0
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
- Keycloak API.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
REACTIONS¶
Описание функций сервиса: сервис отвечает за реакции.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | /api/reactions | Обязательно | Префикс API сервиса |
| ASYNC_BLOGS_API_URL | http://asyncblogs/api/async-blogs/ | Обязательно | URL сервиса Async-blogs |
| CMS_API_URL | http://cms-backend/api/cms | Обязательно | URL сервиса CMS |
| COMMENTS_API_URL | http://comments | URL сервиса Comments | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DICTIONARY_API_URL | http://dictionaries | Обязательно | URL сервиса Dictionary |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GAMIFICATION_API_URL | http://gamification | URL сервиса Gamification | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| NEWS_API_URL | http://news/api/news/ | Обязательно | URL и префикс сервиса News |
| PG_DB | reactions | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_API_URL | http://profile | Обязательно | URL сервиса Profile |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| SERVER_PORT | 8000 | Порт контейнера | |
| TASKS_API_URL | http://tasks-backend/api/tasks/ | Обязательно | URI сервиса Tasks |
| TIMELINES_API_URL | http://timelines-backend/api/timelines/ | Обязательно | URL сервиса Timelines |
| UVICORN_WORKERS | 4 | Количество рабочих процессов uvicorn | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/reactions:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную SERVER_PORT - Команда запуска:
/bin/sh -c /app/scripts/start.sh - Миграции:
sh -c alembic upgrade head
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c sh -c python -m kafka_sdk.async_consumer
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
REPORTS¶
Описание функций сервиса: сервис позволяет администраторам системы получать данные по 3 метрикам посещения пользователями портала: DAU, MAU, Sticky factor, с возможностью их выгрузки в Excel. Также в сервисе реализован вывод рейтингов по социальной активности пользователей: топ 10 сообществ, топ 5 постов и лучший автор постов.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ANALYTIC_GROUP | clickhouse_analytic_group | Group_id для получения данных из топика Kafka сервиса Reports | |
| ANALYTIC_LOGGING_ENABLED | 0 | Включение сервиса Reports | |
| API_BASE_URL | api/reports/ | Обязательно | Префикс API сервиса |
| ASYNC_BLOGS_API_URL | http://asyncblogs/api/async-blogs/ | Обязательно | URL сервиса Async-blogs |
| CLICKHOUSE_AUTO_SYNC_SCHEDULE_TIMEOUT | 2 | Управление периодической синхронизацией данных или выполнения определенных задач по расписанию | |
| CLICKHOUSE_CELERY_QUEUE | clickhouse | Название очереди для шины данных между двумя таблицами в БД ClickHouse | |
| CLICKHOUSE_DB | intranet | Имя БД ClickHouse | |
| CLICKHOUSE_HOST | clickhouse | Хост БД ClickHouse | |
| CLICKHOUSE_PORT | 8123 | Порт БД ClickHouse | |
| CMS_SERVICE_URI | http://cms/ | Обязательно | URL сервиса CMS |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DEFAULT_CLICKHOUSE_DB_MIGRATE | 0 | Применение миграций | |
| DEFAULT_CLICKHOUSE_DB_READONLY | 0 | Дефолтная база данных только на чтение | |
| EVENTS_SERVICE_URI | http://events/api/events/ | URL и префикс сервиса Events | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | reports | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| REDIS_SOCKET_TIMEOUT | 10 | Настройка времени ожидания сокета для подключения к Redis | |
| ROLES_SERVICE_URI | http://roles | URL сервиса Roles | |
| SERVICE_NAME | cms | Имя сервиса | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| CLICKHOUSE_PASSWORD | Пароль для администратора БД ClickHouse | ||
| CLICKHOUSE_USER | intranet | Логин для администратора БД ClickHouse | |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/reports:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную - Команда запуска:
sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% /app/docker/cmd.sh -
Миграции:
sh -c python manage.py migrate -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput || exit 0
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
- Redis.
- PostgreSQL.
- ClickHouse.
- Kafka.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
SETTINGS¶
Описание функций сервиса: сервис позволяет пользователям настраивать различные разделы портала.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| ANALYTIC_LOGGING_ENABLED | 0 | Включение сервиса Reports | |
| API_BASE_URL | /api/settings/ | Обязательно | Префикс API сервиса |
| AUTH_RESPONSE_DOMAIN | https://people-hub.ru | Обязательно | Адрес, который используется для обработки запросов на авторизацию и аутентификацию |
| AUTH_RESPONSE_REALM | realm | Обязательно | Поименованная область |
| AUTH_RESPONSE_TYPE | keycloak | Поименованная область в Keycloak, которая используется для изолирования клиентов и пользователей. | |
| AUTH_RESPONSE_URL | /auth/ | Относится к URL-адресу, который Keycloak использует для отправки ответа на запрос аутентификации | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_BASE_URL | keycloak:80/auth | Обязательно | Адрес Keycloak |
| KEYCLOAK_API_GRANT_TYPE | password | Обязательно | Тип подтверждения, например пароль (password) |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | settings | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_SERVICE_URL | http://profile-backend/ | Обязательно | URI сервиса Profile |
| SITE_DOMAIN | https://people-hub.ru/ | Адрес хоста, где развернут портал VK People Hub | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| AUTH_RESPONSE_CLIENT_ID | ph-prod | Обязательно | Идентификатор клиента, который получается в ответе на запрос авторизации или аутентификации |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
-
Целевой образ:
- docker.people-hub.ru/ph/settings:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную - Команда запуска:
sh -c /app/docker/cmd.sh -
Миграции:
sh -c alembic upgrade head -
Создание пользователя панели администратора:
sh -c python create_admin_panel_user.py $DJANGO_SUPERUSER_USERNAME $DJANGO_SUPERUSER_PASSWORD
- Порт контейнера:
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
- Keycloak API.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
TAGS¶
Описание функций сервиса: сервис отвечает за теги.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | /api/tags | Обязательно | Префикс API сервиса |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| DICTIONARY_SERVICE_URI | http://dictionaries | URL сервиса Dictionary | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| PG_DB | tags | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_API_URL | http://profile | Обязательно | URL сервиса Profile |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| SERVER_PORT | 8000 | Порт контейнера | |
| UVICORN_WORKERS | 4 | Количество рабочих процессов uvicorn | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/tags:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную SERVER_PORT - Команда запуска:
/bin/sh -c /app/scripts/start.sh - Миграции:
sh -c alembic upgrade head
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c sh -c python -m kafka_sdk.async_consumer
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
TASKS¶
Описание функций сервиса: сервис предназначен для организации взаимодействия сотрудников компании в рамках выполнения проектной деятельности.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | api/tasks/ | Обязательно | Префикс API сервиса |
| ASYNC_BLOGS_API_URL | http://asyncblogs/api/async-blogs/ | Обязательно | URL сервиса Async-blogs |
| BASE_HOST | https://people-hub.ru/ | Адрес хоста, где развернут портал VK People Hub | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GUNICORN_BIND | 0.0.0.0:8000 | Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| PG_DB | tasks | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_BASE_URL | http://profile | Обязательно | URL сервиса Profile |
| PROFILE_SERVICE_URI | http://profile | URL сервиса Profile | |
| REDIS_LOCATION | redis://redis | Обязательно | Арес Redis |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| PROFILE_SYNC_WITH_USER | 1 | Обязательно | Необходимость создать пользователя в таблице User при первом запросе |
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/tasks:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную GUNICORN_BIND - Команда запуска:
sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% gunicorn --pid /tmp/filestorage-gunicorn.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload -
Миграции:
sh -c python manage.py migrate -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput
- Порт контейнера:
-
Сервисные контейнеры:
- Celery worker: запускается из целевого образа командой
sh -c sh -c celery -A application worker -l info - Celery beat: запускается из целевого образа командой
sh -c sh -c celery -A application beat -l info - Kafka consumer: запускается из целевого образа командой
sh -c sh -c python manage.py kafka_consumer
- Celery worker: запускается из целевого образа командой
-
Инфраструктурные зависимости:
- Redis.
-
PostgreSQL.
-
Kafka.
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
TERMSOFUSE¶
Описание функций сервиса: сервис запрашивает у пользователей подтверждение их согласия с условиями пользовательского соглашения о предоставлении и обработке персональных данных.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | api/terms-of-use/ | Обязательно | Префикс API сервиса |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| GUNICORN_WORKERS | 4 | Количество рабочих процессов Gunicorn | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_API_REALM | realm | Обязательно | Название Realm |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| PG_DB | termsofuse | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| DEBUG_SERVICE_AUTH_TOKEN | |||
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
| JWT_PUB_KEY | Обязательно | Публичный ключ для расшифровки токена | |
| KEYCLOAK_API_CLIENT_ID | Обязательно | ID клиента Keycloak | |
| KEYCLOAK_API_PASSWORD | password | Обязательно | Пароль для администратора Keycloak |
| KEYCLOAK_API_USERNAME | username | Обязательно | Логин для администратора Keycloak |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| SECRET_KEY | Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности |
-
Целевой образ:
- docker.people-hub.ru/ph/termsofuse:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную - Команда запуска:
sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% /app/docker/cmd.sh -
Миграции:
sh -c python manage.py migrate -
Создание пользователя панели администратора:
sh -c python manage.py createsuperuser --noinput || exit 0
- Порт контейнера:
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests:
TIMELINES¶
Описание функций сервиса: сервис представляет собой естественную среду отображения контента для пользователей в формате информационной ленты на Главной странице и в Профиле пользователей.
Переменные окружения:
| Переменная | Пример | Необходимость | Описание |
|---|---|---|---|
| API_BASE_URL | /api/timelines | Обязательно | Префикс API сервиса |
| ASYNC_BLOGS_API_URL | http://asyncblogs/api/async-blogs/ | Обязательно | URL сервиса Async-blogs |
| BASE_HOST | https://people-hub.ru/ | Адрес хоста, где развернут портал VK People Hub | |
| CMS_API_URL | http://cms/ | Обязательно | URL сервиса CMS |
| COMMENTS_API_URL | http://comments | URL сервиса Comments | |
| DEBUG | 1 | Вкл/выкл режим отладки | |
| FILESTORAGE_API_URL | http://filestorage/api/filestorage/ | Обязательно | URL и префикс сервиса Filestorage |
| GAMIFICATION_API_URL | http://gamification | URL сервиса Gamification | |
| GROUPS_API_URL | http://groups | URL сервиса Groups | |
| HEALTH_EXTRA_ENABLE | 1 | Обязательно | Включение адресов для проверки состояния приложения |
| KAFKA_BROKER | kafka:9092 | Адрес Kafka | |
| KEYCLOAK_AUDIENCE | ph-client | Обязательно | Название аудиенции (keycloak token audience), где находятся пользователи |
| KEYCLOAK_ENDPOINT | http://keycloak/auth | Обязательно | URL keycloak для получения публичного ключа |
| KEYCLOAK_REALM | ph | Обязательно | keycloak realm для получения ключа |
| LOGGING_LEVEL | INFO | Переменная для более ранних версий | |
| NEWS_API_URL | http://news/api/news/ | Обязательно | URL и префикс сервиса News |
| PG_DB | timelines | Обязательно | Имя БД PostgreSQL |
| PG_HOST | pgbouncer | Обязательно | Хост БД PostgreSQL |
| PG_PORT | 5432 | Обязательно | Порт БД PostgreSQL |
| PROFILE_API_URL | http://profile | Обязательно | URL сервиса Profile |
| PROMETHEUS_MONITORING_ENABLED | TRUE | Включение URL с Prometheus | |
| REACTIONS_API_URL | http://reactions-backend/api/reactions/ | Обязательно | URL сервиса Reactions |
| SERVER_PORT | 8000 | Порт контейнера | |
| UVICORN_WORKERS | 4 | Количество рабочих процессов uvicorn | |
| DJANGO_SUPERUSER_EMAIL | ph-admin@people-hub.ru | Обязательно | Почта для суперадмина |
| DJANGO_SUPERUSER_USERNAME | ph-admin | Обязательно | Имя суперадмина |
| PG_PASSWORD | Обязательно | Пароль для администратора БД PostgreSQL | |
| PG_USER | ph | Обязательно | Логин для администратора БД PostgreSQL |
| SECRET_KEY | Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности | ||
| DJANGO_SUPERUSER_PASSWORD | ***** | Обязательно | Пароль суперадмина |
-
Целевой образ:
- docker.people-hub.ru/ph/timelines:release-peoplehub-v4-17-1
-
Запуск контейнера:
- Порт контейнера:
8000. Для изменения изменить переменную SERVER_PORT - Команда запуска:
/bin/sh -c /app/scripts/start.sh -
Миграции:
/bin/sh -c /app/scripts/migrate.sh -
Создание пользователя панели администратора:
sh -c python src/commands/create_admin_panel_user.py $DJANGO_SUPERUSER_USERNAME $DJANGO_SUPERUSER_PASSWORD
- Порт контейнера:
-
Сервисные контейнеры:
- Kafka consumer: запускается из целевого образа командой
sh -c /bin/sh -c /app/scripts/kafka_consumer.sh
- Kafka consumer: запускается из целевого образа командой
-
Инфраструктурные зависимости:
-
PostgreSQL.
-
Kafka.
-
-
Проксирование:
- Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
-
Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы
- $API_BASE_URL/internal/* внутренние ресурсы
- $API_BASE_URL/admin/ панель администратора Django
-
Проверки:
- health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
-
Ресурсы:
- requests:
cpu:200m
memory:256Mi
- requests: