Перейти к содержанию

Техническое описание сервисов

Core компоненты

DICTIONARIES

Описание функций сервиса: сервис обеспечивает работу со справочниками и отображение справочников внутри портала.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL api/dictionaries Обязательно Префикс API сервиса
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 для получения ключа
PG_DB dictionaries Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
REDIS_LOCATION redis://redis Обязательно Арес Redis
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
  1. Целевой образ: docker.people-hub.ru/ph/dictionaries:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную GUNICORN_BIND
    • Команда запуска:
      sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% gunicorn --pid /tmp/dictionaries.pid application.wsgi:application --reload --reload-extra-file /tmp/touch.reload
    • Миграции:
      sh -c python manage.py migrate --noinput
  3. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • Kafka.
  4. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  5. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  6. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  7. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

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
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 ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/discovery:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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/
  3. Инфраструктурные зависимости:

    • Redis.
    • Kafka.
  4. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  5. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  6. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  7. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

FILESTORAGES

Описание функций сервиса: сервис отвечает за работу с различными файловыми хранилищами в портале.

Переменные окружения:

Переменная Пример Необходимость Описание
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
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
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
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
SITECTOR_API_URL https://people-hub.ru/api/sitector/ Адрес конструктора сайтов
TAGS_API_URL http://tags-backend/api/tags/ Обязательно URL сервиса Tags
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
  1. Целевой образ: docker.people-hub.ru/ph/filestorages:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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 --noinput
  3. Сервисные контейнеры:

    • Celery worker: запускается из целевого образа командой sh -c sh -c celery -A application worker -l info
    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python manage.py kafka_consumer
  4. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 400m
      memory: 2336Mi

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
COMMENTS_SERVICE_URI http://comments URL сервиса Comments
DEBUG 1 Вкл/выкл режим отладки
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
EVENTS_SERVICE_URI http://events/api/events/ URL и префикс сервиса Events
FILESTORAGE_SERVICE_URI http://filestorage URL сервиса Filestorage
FROM_EMAIL
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 для получения ключа
LISTS_SERVICE_URI
NEWS_SERVICE_URI http://news URL сервиса News
PG_DB notifications Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
REACTIONS_SERVICE_URI
REDIS_LOCATION redis://redis Обязательно Арес Redis
SITE_DOMAIN https://people-hub.ru/ Адрес хоста, где развернут портал VK People Hub
SITECTOR_SERVICE_URI
SMTP_HOST
SMTP_PORT
TASKS_SERVICE_URI http://tasks/ URL сервиса Tasks
TIMELINES_SERVICE_URI http://timelines-backend Обязательно URI сервиса Timelines
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
KAFKA_GROUP_ID
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
  1. Целевой образ: docker.people-hub.ru/ph/notifications:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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
  3. Сервисные контейнеры:

    • 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
  4. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

PAGES

Описание функций сервиса: сервис отвечает за работу и отображения главной страницы портала, за работу и отображение виджетов на главной странице портала.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL pages/ Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
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_CREATE_NEW_USER
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
KEYCLOAK_UPDATE_USER
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
WIDGETS_API_URL
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
  1. Целевой образ: docker.people-hub.ru/ph/pages:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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
  3. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  4. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  5. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  6. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  7. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

PROFILES

Описание функций сервиса: сервис обеспечивает работу с профилями пользователей на портале.

Переменные окружения:

Переменная Пример Необходимость Описание
ANALYTIC_LOGGING_ENABLED 0 Включение сервиса Reports
ANALYTIC_TOPIC analytic Топик Kafka для сервиса Reports
API_BASE_URL api/profiles/ Обязательно Префикс 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 Отклонять неопубликованные навыки
DEFAULT_MIN_MEDIUM_WIDTH
DEFAULT_MIN_SMALL_WIDTH
DEFAULT_MIN_WIDTH
DJANGO_SETTINGS_MODULE application.settings Обязательно Путь к файлу с настройками для Django settings.py
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
ENABLE_EVENTS 1 Включить события
ENABLE_EVENTS_BUFFER 1 Включить буфер для событий по типу
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
GUNICORN_WORKERS 4 Количество рабочих процессов Gunicorn
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
IS_USER_PK_UUID
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_BASE_URL keycloak:80/auth Обязательно Адрес Keycloak
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
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, используемый в веб-приложениях для обеспечения безопасности
  1. Целевой образ: docker.people-hub.ru/ph/profiles:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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
  3. Сервисные контейнеры:

    • 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
  4. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • Kafka.
    • Keycloak API.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

ROLES

Описание функций сервиса: сервис отвечает за разделение пользователей по ролям в рамках ролевой модели, и за доступы и разрешения у данных ролей.

Переменные окружения:

Переменная Пример Необходимость Описание
ANALYTIC_LOGGING_ENABLED 0 Включение сервиса Reports
API_BASE_URL /api/roles Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
DJANGO_SETTINGS_CONFIGURATIONS 0 Используте Переменная для более ранних версий
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_ADMIN_ROLE
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_CREATE_NEW_USER
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
KEYCLOAK_UPDATE_USER
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 Обязательно Имя суперадмина
ASYNC_ADMIN_PASSWORD
ASYNC_ADMIN_SECRET_KEY
ASYNC_ADMIN_USERNAME
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 ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/roles:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную SERVER_PORT
    • Команда запуска:
      sh -c uvicorn main:app --host 0.0.0.0 --port 8000 --workers 8 --forwarded-allow-ips='*' --proxy-headers
    • Миграции:
      sh -c alembic upgrade head
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python -m kafka_consumer
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
    • Keycloak API.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

WSNOTIFICATIONS

Важно!

Начиная с версии 5.7.1, сервис использоваться не будет, его надо будет удалить из кластера.

Для удаления сервиса из кластера будет необходимо убрать его из argocd applications (если используется argocd) или выполнить helm uninstall для соответствующего helm release

Описание функций сервиса: сервис отвечает за работу и отображение уведомлений пользователя в правом верхнем углу портала.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL /notify_ws Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
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 для получения ключа
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
SERVER_HOST 0.0.0.0 Хост контейнера
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
KAFKA_CONSUMER_SERVICE_GROUP_ID Group_id для топика Kafka Consumer в сервисе notifications:websoket
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/wsnotifications:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную
    • Команда запуска:
      python server.py
  3. Инфраструктурные зависимости:

    • Kafka.
  4. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  5. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  6. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  7. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

Сервисы VK People Hub

BLOGS

Описание функций сервиса: сервис представляет собой рабочий инструмент коммуникации сотрудников внутри компании, предназначенный для обмена экспертными знаниями, информацией и опытом.

Переменные окружения:

Переменная Пример Необходимость Описание
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 Вкл/выкл режим отладки
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
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 Обязательно Имя суперадмина
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 ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/blogs:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную
    • Команда запуска:
      sh -c uvicorn main:app --host 0.0.0.0 --port 8000 --workers 8
    • Миграции:
      sh -c alembic upgrade head
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python -m kafka_consumer
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
    • Keycloak API.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

CALENDARS

Описание функций сервиса: сервис замещает функции планирования времени в почтовом корпоративном программном обеспечении. Также в календаре сервиса можно планировать персональное рабочее время, отражая в нём задачи пользователя и привязывая их к времени в календаре.

Переменные окружения:

Переменная Пример Необходимость Описание
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
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
REDIS_LOCATION redis://redis Обязательно Арес Redis
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
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, используемый в веб-приложениях для обеспечения безопасности
  1. Целевой образ: docker.people-hub.ru/ph/calendars:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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
  3. Сервисные контейнеры:

    • 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
  4. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

COMMENTS

Описание функций сервиса: сервис позволяет пользователям писать, редактировать, удалять комментарии в разных разделах портала.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL /api/comments Обязательно Префикс API сервиса
ASYNC_BLOGS_API_URL http://asyncblogs/api/async-blogs/ Обязательно URL сервиса Async-blogs
DEBUG 1 Вкл/выкл режим отладки
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
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
SITECTOR_API_URL
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 Обязательно Имя суперадмина
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
  1. Целевой образ: docker.people-hub.ru/ph/comments:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную
    • Команда запуска:
      sh -c uvicorn main:app --workers 8 --host 0.0.0.0 --port 8000
    • Миграции:
      sh -c alembic upgrade head
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python -m kafka_consumer
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

EVENTS

Описание функций сервиса: сервис позволяет информировать сотрудников организации о корпоративных мероприятиях. Корпоративные мероприятия, создаваемые в данном сервисе, могут носить уведомляющий, обучающий, развивающий, информационный, а также развлекающий характер.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL api/events/ Обязательно Префикс API сервиса
CALENDAR_SERVICE_URI http://calendar/ URL сервиса Calendar
CELERY_LOG_LEVEL DEBUG Уровень логирования в Celery
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), где находятся пользователи
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
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 Обязательно Имя суперадмина
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
  1. Целевой образ: docker.people-hub.ru/ph/events:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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
  3. Сервисные контейнеры:

    • Celery worker: запускается из целевого образа командой sh -c sh -c celery -A application worker -l info
    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python manage.py kafka_consumer
  4. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • Kafka.
    • Keycloak API.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

FRONTEND

Описание функций сервиса: сервис отвечает за внешний вид портала, отображение интерактивных элементов и контента.

Переменные окружения:

Переменная Пример Необходимость Описание
ANALYTIC_LOGGING_ENABLED 0 Включение сервиса Reports
DEBUG 1 Вкл/выкл режим отладки
FOO_BAR
  1. Целевой образ: docker.people-hub.ru/ph/frontend:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную NULL
    • Команда запуска:
      /app/start.sh
  3. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  4. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  5. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  6. Ресурсы:

    • requests:
      cpu: null
      memory: null

GAMIFICATION

Описание функций сервиса: сервис содержит в себе инструменты для вовлечения работников в жизнь компании и проявления корпоративно полезной инициативы.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL api/gamification/ Обязательно Префикс API сервиса
BASE_HOST https://people-hub.ru/ Адрес хоста, где развернут портал VK People Hub
DEBUG 1 Вкл/выкл режим отладки
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 для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB gamification Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
REDIS_LOCATION redis://redis Обязательно Арес Redis
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
DEBUG_SERVICE_AUTH_TOKEN
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
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
  1. Целевой образ: docker.people-hub.ru/ph/gamification:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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
  3. Сервисные контейнеры:

    • 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
  4. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

GROUPS

Описание функций сервиса: сервис отображает все уровни подчинения внутри организационной структуры компании, команды сотрудников и их руководителей.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL api/orgstructure/ Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
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 Переменная для более ранних версий
PG_DB groups Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
REDIS_LOCATION redis://redis Обязательно Арес Redis
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
  1. Целевой образ: docker.people-hub.ru/ph/groups:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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
  3. Сервисные контейнеры:

    • 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
  4. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

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 ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/ideas:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную GUNICORN_BIND
    • Команда запуска:
      sh -c gunicorn --pid /tmp/gunicorn.pidy application.wsgi:application --reload --reload-extra-file /tmp/touch.reload
    • Миграции:
      sh -c python manage.py migrate --noinput
  3. Сервисные контейнеры:

    • 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
  4. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • Kafka.
    • Keycloak API.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 100m
      memory: 128Mi

LISTS

Описание функций сервиса: сервис отвечает за списки, которые администраторы могут создавать, а пользователи - заполнять в рамках сайта.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL /api/lists Обязательно Префикс API сервиса
COMMENTS_API_URL http://comments URL сервиса Comments
DEBUG 1 Вкл/выкл режим отладки
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
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 для получения публичного ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB lists Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
SERVER_PORT 8000 Порт контейнера
SITECTOR_API_URL
UVICORN_WORKERS 4 Количество рабочих процессов uvicorn
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
JWT_PUB_KEY Обязательно Публичный ключ для расшифровки токена
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/lists:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную SERVER_PORT
    • Команда запуска:
    • Миграции:
      sh -c alembic upgrade head
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python -m kafka_sdk.async_consumer
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

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
ROLES_API_URL http://roles URL сервиса Roles
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
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
  1. Целевой образ: docker.people-hub.ru/ph/meetings:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python manage.py kafka_consumer
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
    • Keycloak API.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

Описание функций сервиса: сервис, отвечающий за левое боковое меню портала.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL /api/navigation Обязательно Префикс API сервиса
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
PAGES_API_URL
PG_DB navigation Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
REDIS_LOCATION redis://redis Обязательно Арес Redis
ROLES_API_URL http://roles URL сервиса Roles
SERVER_PORT 8000 Порт контейнера
SERVICE_NAME cms Имя сервиса
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 ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/navigation:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную SERVER_PORT
    • Команда запуска:
    • Миграции:
      /bin/sh -c /app/scripts/migrate.sh
  3. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
  4. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  5. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  6. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  7. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

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 Вкл/выкл режим отладки
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 news Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
ROLES_API_URL http://roles URL сервиса Roles
SERVER_HOST 0.0.0.0 Хост контейнера
SITECTOR_API_URL
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, когда нет пользователя
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 ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/news:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную
    • Команда запуска:
      sh -c uvicorn main:app --workers 8 --host 0.0.0.0 --port 8000
    • Миграции:
      sh -c alembic upgrade head
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c /bin/sh -c /app/scripts/kafka_consumer.sh
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

NOTIFICATION-SENDER

Описание функций сервиса: сервис для приема уведомлений от сторонних информационных систем.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL /api/notify-sender Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
LOGGING_LEVEL INFO Переменная для более ранних версий
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 Обязательно Имя суперадмина
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/notification-sender:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную SERVER_PORT
    • Команда запуска:
  3. Инфраструктурные зависимости:

    • Kafka.
  4. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  5. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  6. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  7. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

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
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
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, используемый в веб-приложениях для обеспечения безопасности
  1. Целевой образ: docker.people-hub.ru/ph/polls:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python manage.py kafka_consumer
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
    • Keycloak API.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

REACTIONS

Описание функций сервиса: сервис отвечает за реакции.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL /api/reactions Обязательно Префикс API сервиса
ASYNC_BLOGS_API_URL http://asyncblogs/api/async-blogs/ Обязательно URL сервиса Async-blogs
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
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
SERVER_PORT 8000 Порт контейнера
SITECTOR_API_URL
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 ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/reactions:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную SERVER_PORT
    • Команда запуска:
      /bin/sh -c /app/scripts/start.sh
    • Миграции:
      sh -c alembic upgrade head
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python -m kafka_sdk.async_consumer
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

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
AUTHORIZATION_COOKIE_NAME
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 Дефолтная база данных только на чтение
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
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_CREATE_NEW_USER
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
KEYCLOAK_UPDATE_USER
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB reports Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
REDIS_LOCATION redis://redis Обязательно Арес Redis
REDIS_SOCKET_TIMEOUT 10 Настройка времени ожидания сокета для подключения к Redis
ROLES_SERVICE_URI http://roles URL сервиса Roles
SERVICE_NAME cms Имя сервиса
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
CLICKHOUSE_PASSWORD Пароль для администратора БД ClickHouse
CLICKHOUSE_USER intranet Логин для администратора БД ClickHouse
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
  1. Целевой образ: docker.people-hub.ru/ph/reports:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную
    • Команда запуска:
      sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% /app/docker/cmd.sh
    • Миграции:
      sh -c python manage.py migrate
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python manage.py kafka_consumer
  4. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • ClickHouse.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

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_CREATE_NEW_USER
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
KEYCLOAK_UPDATE_USER
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB settings Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
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
  1. Целевой образ: docker.people-hub.ru/ph/settings:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную
    • Команда запуска:
      sh -c /app/docker/cmd.sh
    • Миграции:
      sh -c alembic upgrade head
  3. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
    • Keycloak API.
  4. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  5. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  6. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  7. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

SITECTOR

Описание функций сервиса: сервис позволяет администраторам создавать сайты в портале, а пользователям взаимодействовать с ними.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL /api/sitector Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB cms Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
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 Обязательно Имя суперадмина
JWT_PUB_KEY Обязательно Публичный ключ для расшифровки токена
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/sitector:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную SERVER_PORT
    • Команда запуска:
      /bin/sh -c /app/scripts/start.sh
    • Миграции:
      sh -c alembic upgrade head
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python -m kafka_sdk.async_consumer
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

TAGS

Описание функций сервиса: сервис отвечает за теги.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL /api/tags Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
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
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 Обязательно Имя суперадмина
JWT_PUB_KEY Обязательно Публичный ключ для расшифровки токена
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/tags:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную SERVER_PORT
    • Команда запуска:
      /bin/sh -c /app/scripts/start.sh
    • Миграции:
      sh -c alembic upgrade head
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python -m kafka_sdk.async_consumer
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

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
REDIS_LOCATION redis://redis Обязательно Арес Redis
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
PROFILE_SYNC_WITH_USER 1 Обязательно Необходимость создать пользователя в таблице User при первом запросе
  1. Целевой образ: docker.people-hub.ru/ph/tasks:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      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
  3. Сервисные контейнеры:

    • 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
  4. Инфраструктурные зависимости:

    • Redis.
    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

TENANTS

Описание функций сервиса: сервис отвечает за мультитентанты.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL /api/tenants Обязательно Префикс 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_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB tenants Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_API_URL http://profile Обязательно URL сервиса Profile
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
AUTH_RESPONSE_CLIENT_ID ph-prod Обязательно Идентификатор клиента, который получается в ответе на запрос авторизации или аутентификации
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ: docker.people-hub.ru/ph/tenants:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную
    • Команда запуска:
    • Миграции:
      sh -c alembic upgrade head
  3. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  4. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  5. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  6. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  7. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

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 ***** Обязательно Пароль суперадмина
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, используемый в веб-приложениях для обеспечения безопасности
  1. Целевой образ: docker.people-hub.ru/ph/termsofuse:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную
    • Команда запуска:
      sh -c cp -r /app/static/* /static/ %srv.command%%srv.command% /app/docker/cmd.sh
  3. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  4. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  5. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  6. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  7. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

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
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
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
SERVER_PORT 8000 Порт контейнера
SITECTOR_API_URL
UVICORN_WORKERS 4 Количество рабочих процессов uvicorn
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
  1. Целевой образ: docker.people-hub.ru/ph/timelines:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную SERVER_PORT
    • Команда запуска:
      /bin/sh -c /app/scripts/start.sh
    • Миграции:
      /bin/sh -c /app/scripts/migrate.sh
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c /bin/sh -c /app/scripts/kafka_consumer.sh
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi

WIDGETS

Описание функций сервиса: сервис отвечает за работу и отображение виджетов в портале.

Переменные окружения:

Переменная Пример Необходимость Описание
API_BASE_URL /api/widgets Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
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 widgets Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
SERVER_PORT 8000 Порт контейнера
UVICORN_WORKERS 4 Количество рабочих процессов uvicorn
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
ASYNC_ADMIN_SECRET_KEY
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
HS256_SECRET_KEY
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
WIDGET_ACCESS_TOKEN_PRIVATE_KEY
WIDGET_ACCESS_TOKEN_PUBLIC_KEY
  1. Целевой образ: docker.people-hub.ru/ph/widgets:release-peoplehub-v4-40-1

  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную SERVER_PORT
    • Команда запуска:
      /bin/sh -c /app/scripts/start.sh
    • Миграции:
      /bin/sh -c /app/scripts/migrate.sh
  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c /bin/sh -c /app/scripts/kafka_consumer.sh
  4. Инфраструктурные зависимости:

    • PostgreSQL.
    • Kafka.
  5. Проксирование:

    • Для работы необходимо проксирование запросов с основного домена по префиксу пути из переменной API_BASE_URL
  6. Блокировки: для безопасности необходимо исключить или блокировать из проксирования запросы

    • $API_BASE_URL/internal/* внутренние ресурсы
    • $API_BASE_URL/admin/ панель администратора Django
  7. Проверки:

    • health-check: get запросы по адресу $API_BASE_URL/internal/healthcheck
  8. Ресурсы:

    • requests:
      cpu: 200m
      memory: 256Mi