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

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

Core компоненты

DICTIONARIES

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

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

Переменная Пример Необходимость Описание
ANALYTIC_LOGGING_ENABLED 0 Включение сервиса Reports
API_BASE_URL dicts Обязательно Префикс API сервиса
CALENDAR_SERVICE_URI http://calendar/ URL сервиса Calendar
CMS_SERVICE_URI http://cms/ Обязательно URL сервиса CMS
COMMENTS_SERVICE_URI http://comments URL сервиса Comments
DICTIONARY_SERVICE_URI http://dictionaries URL сервиса Dictionary
DISCOVERY_SERVICE_URI http://discovery-backend Обязательно URI сервиса Discovery
EVENTS_SERVICE_URI http://events/api/events/ URL и префикс сервиса Events
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
FILESTORAGE_SERVICE_URI http://filestorage URL сервиса Filestorage
GAMIFICATION_SERVICE_URI http://gamification URL сервиса Gamification
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
GUNICORN_WORKERS 4 Количество рабочих процессов Gunicorn
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KAFKA_TOPIC_WS websocket Обязательно Топик Kafka, который слушает сервис notifications:websoket
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
NEWS_SERVICE_URI http://news URL сервиса News
PG_DB dictionaries Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_SERVICE_URI http://profile URL сервиса Profile
REDIS_LOCATION redis://redis Обязательно Арес Redis
TASKS_SERVICE_URI http://tasks/ URL сервиса Tasks
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/dictionaries:release-peoplehub-v4-17-1
  2. Запуск контейнера:

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

    • Создание пользователя панели администратора:
      sh -c python manage.py createsuperuser --noinput

  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
DICTIONARIES_API_URL /dicts/internal Префикс API сервиса Dictionary
DICTIONARIES_SERVICE http://dictionaries URL сервиса Dictionary
HEALTH_CHECKERS_DNS_FILE /app/config/health-config.json Обязательно Файл в котором перечисляются имя сервера и ее хост
HEALTH_CHECKERS_ENABLED_SERVERS blogs,groups,profile,calendar,dictionaries,notifications,filestorage,asyncblogs,news,events,meetings,polls,asyncsurvey,comments,tasks,gamification,settings,cms Обязательно Список сервисов для мониторинга на вкладке "Состояние портала"
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
REDIS_LOCATION redis://redis Обязательно Арес Redis
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
AWS_ACCESS_KEY_ID **** Обязательно ID ключа для доступа в объектное хранилище S3
AWS_SECRET_ACCESS_KEY ***** Обязательно Секретный ключ для доступа в объектное хранилище S3
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/discovery:release-peoplehub-v4-17-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

FILESTORAGE

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

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

Переменная Пример Необходимость Описание
ALLOWED_PARALLEL_UPLOADS 6 Количество параллельных разрешенных загрузок файлов для одного пользователя
ANALYTIC_LOGGING_ENABLED 0 Включение сервиса Reports
API_BASE_URL api/filestorage/ Обязательно Префикс API сервиса
AWS_S3_ENDPOINT_URL https://hb.bizmrg.com Обязательно Адрес объектного хранилища S3
AWS_STORAGE_BUCKET_NAME media Обязательно Имя контейнера объектного хранилища S3
COMMENTS_BASE_URL /api/comments/internal Префикс API сервиса Comments
COMMENTS_SERVICE_URI http://comments URL сервиса Comments
DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 Максимальный размер файла для загрузки. Указывается значение в байтах
DICTIONARIES_BASE_URL /dicts/internal Префикс API сервиса Dictionary
DICTIONARY_SERVICE_URI http://dictionaries URL сервиса Dictionary
ENABLE_NOTIFICATION TRUE Переменная для более ранних версий
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
GUNICORN_WORKERS 4 Количество рабочих процессов Gunicorn
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
NOTIFICATION_FILE ph Переменная для более ранних версий
PG_DB filestorage Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_SERVICE_URI http://profile URL сервиса Profile
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
REDIS_LOCATION redis://redis Обязательно Арес Redis
SITE_DOMAIN https://people-hub.ru/ Адрес хоста, где развернут портал VK People Hub
TAGS_API_URL http://tags-backend/api/tags/ Обязательно URL сервиса Tags
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
AWS_ACCESS_KEY_ID **** Обязательно ID ключа для доступа в объектное хранилище S3
AWS_SECRET_ACCESS_KEY ***** Обязательно Секретный ключ для доступа в объектное хранилище S3
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
  1. Целевой образ:

    • docker.people-hub.ru/ph/filestorage:release-peoplehub-v4-17-1
  2. Запуск контейнера:

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

    • Создание пользователя панели администратора:
      sh -c python manage.py createsuperuser --noinput

  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: 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
CMS_SERVICE_URI http://cms/ Обязательно URL сервиса CMS
COMMENTS_SERVICE_URI http://comments URL сервиса Comments
DEBUG 1 Вкл/выкл режим отладки
EVENTS_SERVICE_URI http://events/api/events/ URL и префикс сервиса Events
FILESTORAGE_SERVICE_URI http://filestorage URL сервиса Filestorage
GAMIFICATION_SERVICE_URI http://gamification URL сервиса Gamification
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
IDEAS_SERVICE_URI http://ideas/ URL сервиса IDEAS
KAFKA_BROKER kafka:9092 Адрес Kafka
KAFKA_TOPIC_WS websocket Обязательно Топик Kafka, который слушает сервис notifications:websoket
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
NEWS_SERVICE_URI http://news URL сервиса News
PG_DB notifications Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_SERVICE_URI http://profile URL сервиса Profile
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
TASKS_SERVICE_URI http://tasks/ URL сервиса Tasks
TIMELINES_SERVICE_URI http://timelines-backend Обязательно URI сервиса Timelines
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
KAFKA_GROUP_ID
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/notifications:release-peoplehub-v4-17-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 createsuperuser --noinput || exit 0

  3. Сервисные контейнеры:

    • Kafka consumer: запускается из целевого образа командой sh -c sh -c python manage.py 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

NOTIFICATIONS-WEBSOCKETS

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

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

Переменная Пример Необходимость Описание
ANALYTIC_LOGGING_ENABLED 0 Включение сервиса Reports
API_BASE_URL /notify_ws Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KAFKA_CONSUMER_SERVICE_GROUP_ID Group_id для топика Kafka Consumer в сервисе notifications:websoket
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
SERVER_HOST 0.0.0.0 Хост контейнера
SERVER_PORT 8000 Порт контейнера
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
_KEY
KAFKA_CONSUMER_SERVICE_GROUP_ID Group_id для топика Kafka Consumer в сервисе notifications:websoket
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/notifications-websockets:release-peoplehub-v4-17-1
  2. Запуск контейнера:

    • Порт контейнера:
      8000. Для изменения изменить переменную SERVER_PORT
    • Команда запуска:
      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

PAGES

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

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

Переменная Пример Необходимость Описание
API_BASE_URL pages/ Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
FILESTORAGE_FOLDER Название root папки в сервисе Filestorage
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_GRANT_TYPE password Обязательно Тип подтверждения, например пароль (password)
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB pages Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
SENTRY_DSN https://*@sentry.digital-insider.ru/2 Обязательно Адрес Sentry
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
  1. Целевой образ:

    • docker.people-hub.ru/ph/pages:release-peoplehub-v4-17-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
    • Создание пользователя панели администратора:
      sh -c python manage.py createsuperuser --noinput || 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

PROFILE

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

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

Переменная Пример Необходимость Описание
ANALYTIC_LOGGING_ENABLED 0 Включение сервиса Reports
ANALYTIC_TOPIC analytic Топик Kafka для сервиса Reports
API_BASE_URL profile/ Обязательно Префикс API сервиса
AWS_S3_ENDPOINT_URL https://hb.bizmrg.com Обязательно Адрес объектного хранилища S3
AWS_STORAGE_BUCKET_NAME media Обязательно Имя контейнера объектного хранилища S3
DATA_UPLOAD_MAX_MEMORY_SIZE 2621440 Максимальный размер файла для загрузки. Указывается значение в байтах
DEBUG 1 Вкл/выкл режим отладки
DECLINE_NOT_PUBLIC_SKILLS 1 Отклонять неопубликованные навыки
DICTIONARIES_BASE_URL /dicts/internal Префикс API сервиса Dictionary
DICTIONARY_SERVICE_URI http://dictionaries URL сервиса Dictionary
DJANGO_SETTINGS_MODULE application.settings Обязательно Путь к файлу с настройками для Django settings.py
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
ENABLE_EVENTS 1 Включить события
ENABLE_EVENTS_BUFFER 1 Включить буфер для событий по типу
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
GROUPS_SERVICE_URI http://groups Обязательно URL сервиса Groups
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
GUNICORN_WORKERS 4 Количество рабочих процессов Gunicorn
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
MAX_LIST_COUNT 1000 Ограничение на список id в POST списочных ручках
PG_DB profile Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILER 0 Включено ли профилирование
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
REDIS_LOCATION redis://redis Обязательно Арес Redis
SENTRY_DSN https://*@sentry.digital-insider.ru/2 Обязательно Адрес Sentry
SERVICE_NAME cms Имя сервиса
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
AWS_ACCESS_KEY_ID **** Обязательно ID ключа для доступа в объектное хранилище S3
AWS_SECRET_ACCESS_KEY ***** Обязательно Секретный ключ для доступа в объектное хранилище S3
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
FILESTORAGE_SERVICE_AUTH_TOKEN ***** Обязательно Токен для доступа сервису к Filestorage, когда нет пользователя
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
  1. Целевой образ:

    • docker.people-hub.ru/ph/profile:release-peoplehub-v4-17-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 createsuperuser --noinput || exit 0

  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

ROLES

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

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

Переменная Пример Необходимость Описание
ANALYTIC_LOGGING_ENABLED 0 Включение сервиса Reports
API_BASE_URL /api/roles Обязательно Префикс API сервиса
CMS_API_URL http://cms/ Обязательно URL сервиса CMS
DEBUG 1 Вкл/выкл режим отладки
DJANGO_SETTINGS_CONFIGURATIONS 0 Используте Переменная для более ранних версий
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_BASE_URL keycloak:80/auth Обязательно Адрес Keycloak
KEYCLOAK_API_GRANT_TYPE password Обязательно Тип подтверждения, например пароль (password)
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
MAX_PAGE_SIZE 100 максимальный размер страницы при пагинации
PG_DB roles Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
SERVER_HOST 0.0.0.0 Хост контейнера
SERVER_PORT 8000 Порт контейнера
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/roles:release-peoplehub-v4-17-1
  2. Запуск контейнера:

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

    • Создание пользователя панели администратора:
      sh -c python create_admin_panel_user.py $DJANGO_SUPERUSER_USERNAME $DJANGO_SUPERUSER_PASSWORD

  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

Сервисы VKPH

ASYNCBLOGS

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

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

Переменная Пример Необходимость Описание
ALLOWED_HOSTS * Список разрешенных IP
API_BASE_URL /api/async-blogs Обязательно Префикс API сервиса
BASE_HOST https://people-hub.ru/ Адрес хоста, где развернут портал VK People Hub
COMMENTS_SERVICE_URL http://comments/api/comments/ Обязательно URL и префикс сервиса Comments
DEBUG 1 Вкл/выкл режим отладки
DICTIONARY_SERVICE_URI http://dictionaries URL сервиса Dictionary
EVENTS_BASE_URL http://events/api/events/ URL и префикс сервиса Events
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_BASE_URL keycloak:80/auth Обязательно Адрес Keycloak
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB blogs Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
POLLS_API_URL http://polls/api/polls/ URL и префикс сервиса Polls
PROFILE_API_URL http://profile Обязательно URL сервиса Profile
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
ROLES_API_URL http://roles URL сервиса Roles
TAGS_API_URL http://tags-backend/api/tags/ Обязательно URL сервиса Tags
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
AWS_ACCESS_KEY_ID **** Обязательно ID ключа для доступа в объектное хранилище S3
AWS_SECRET_ACCESS_KEY ***** Обязательно Секретный ключ для доступа в объектное хранилище S3
CLIENT_ID
DEMO_USER_ID
FILESTORAGE_SERVICE_AUTH_TOKEN ***** Обязательно Токен для доступа сервису к Filestorage, когда нет пользователя
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/asyncblogs:release-peoplehub-v4-17-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

CALENDAR

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

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

Переменная Пример Необходимость Описание
API_BASE_URL api/calendar/ Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_GRANT_TYPE password Обязательно Тип подтверждения, например пароль (password)
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
MEETINGS_SERVICE_URI http://meetings-backend/api/meetings/ Обязательно URI сервиса Meetings
PG_DB calendar Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_SERVICE_URI http://profile URL сервиса Profile
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
REDIS_LOCATION redis://redis Обязательно Арес Redis
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
FILESTORAGE_SERVICE_AUTH_TOKEN ***** Обязательно Токен для доступа сервису к Filestorage, когда нет пользователя
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/calendar:release-peoplehub-v4-17-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

    • Создание пользователя панели администратора:
      sh -c python manage.py createsuperuser --noinput || exit 0

  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

CMS

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

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

Переменная Пример Необходимость Описание
ALLOWED_HOSTS * Список разрешенных IP
API_BASE_URL /api/cms Обязательно Префикс API сервиса
BASE_HOST https://people-hub.ru/ Адрес хоста, где развернут портал VK People Hub
COMMENTS_SERVICE_URL http://comments/api/comments/ Обязательно URL и префикс сервиса Comments
DEBUG 1 Вкл/выкл режим отладки
DICTIONARY_API_URL http://dictionaries Обязательно URL сервиса Dictionary
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB cms Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_API_URL http://profile Обязательно URL сервиса Profile
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
TAGS_API_URL http://tags-backend/api/tags/ Обязательно URL сервиса Tags
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/cms:release-peoplehub-v4-17-1
  2. Запуск контейнера:

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

    • Создание пользователя панели администратора:
      sh -c python create_admin_panel_user.py $DJANGO_SUPERUSER_USERNAME $DJANGO_SUPERUSER_PASSWORD

  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

COMMENTS

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

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

Переменная Пример Необходимость Описание
API_BASE_URL /api/comments Обязательно Префикс API сервиса
ASYNC_BLOGS_API_URL http://asyncblogs/api/async-blogs/ Обязательно URL сервиса Async-blogs
CMS_API_URL http://cms/ Обязательно URL сервиса CMS
DEBUG 1 Вкл/выкл режим отладки
DICTIONARY_API_URL http://dictionaries Обязательно URL сервиса Dictionary
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
GAMIFICATION_API_URL http://gamification URL сервиса Gamification
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
IDEAS_API_URL http://ideas-backend/api/ideas/ Обязательно URI сервиса Ideas
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_AUTH_DB_UPDATE_ENABLED Автообновление данных пользователя из данных Keycloak токена
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
NEWS_API_URL http://news/api/news/ Обязательно URL и префикс сервиса News
PG_DB comments Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_API_URL http://profile Обязательно URL сервиса Profile
PROFILE_SERVICE_URI http://profile URL сервиса Profile
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
SENTRY_DSN https://*@sentry.digital-insider.ru/2 Обязательно Адрес Sentry
SERVER_HOST 0.0.0.0 Хост контейнера
SERVER_PORT 8000 Порт контейнера
TASK_API_URL http://tasks/api/tasks/ Обязательно URL и префикс сервиса Tasks
TIMELINES_API_URL http://timelines-backend/api/timelines/ Обязательно URL сервиса Timelines
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/comments:release-peoplehub-v4-17-1
  2. Запуск контейнера:

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

    • Создание пользователя панели администратора:
      sh -c python create_admin_panel_user.py $DJANGO_SUPERUSER_USERNAME $DJANGO_SUPERUSER_PASSWORD

  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 Вкл/выкл режим отладки
DICTIONARY_SERVICE_URI http://dictionaries URL сервиса Dictionary
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
GUNICORN_WORKERS 4 Количество рабочих процессов Gunicorn
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_BASE_URL keycloak:80/auth Обязательно Адрес Keycloak
KEYCLOAK_API_GRANT_TYPE password Обязательно Тип подтверждения, например пароль (password)
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB events Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_BASE_URL http://profile Обязательно URL сервиса Profile
REDIS_LOCATION redis://redis Обязательно Арес Redis
ROLES_API_URL http://roles URL сервиса Roles
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/events:release-peoplehub-v4-17-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

    • Создание пользователя панели администратора:
      sh -c python manage.py createsuperuser --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.

    • 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 Вкл/выкл режим отладки
NGINX_LG_COMP false Включить поддержку ссылок старого формата в nginx
FOO_BAR
  1. Целевой образ:

    • docker.people-hub.ru/ph/frontend:release-peoplehub-v4-17-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
COMMENTS_SERVICE_URI http://comments URL сервиса Comments
DEBUG 1 Вкл/выкл режим отладки
DICTIONARY_SERVICE_URI http://dictionaries URL сервиса Dictionary
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
FILESTORAGE_HOST http://hostname.ru Обязательно Нужно указывать именно имя хоста, не адрес сервиса
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_BASE_URL keycloak:80/auth Обязательно Адрес Keycloak
KEYCLOAK_API_GRANT_TYPE password Обязательно Тип подтверждения, например пароль (password)
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB gamification Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_BASE_URL http://profile Обязательно URL сервиса Profile
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
REDIS_LOCATION redis://redis Обязательно Арес Redis
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
DEBUG_SERVICE_AUTH_TOKEN
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/gamification:release-peoplehub-v4-17-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

    • Создание пользователя панели администратора:
      sh -c python manage.py createsuperuser --noinput || exit 0

  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.

    • 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

GROUPS

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

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

Переменная Пример Необходимость Описание
API_BASE_URL api/groups/ Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
ENABLE_PUBLIC_API_ALPHA 0 Включить public API для профилей, групп и справочников
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
GUNICORN_WORKERS 4 Количество рабочих процессов Gunicorn
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_BASE_URL keycloak:80/auth Обязательно Адрес Keycloak
KEYCLOAK_API_GRANT_TYPE password Обязательно Тип подтверждения, например пароль (password)
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB groups Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_SERVICE_URI http://profile URL сервиса Profile
REDIS_LOCATION redis://redis Обязательно Арес Redis
ROLES_API_URL http://roles URL сервиса Roles
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/groups:release-peoplehub-v4-17-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 createsuperuser --noinput

  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.

    • 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

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-17-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
  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

MEETINGS

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

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

Переменная Пример Необходимость Описание
API_BASE_URL api/meetings/ Обязательно Префикс API сервиса
CALENDAR_SERVICE_URI http://calendar/ URL сервиса Calendar
DEBUG 1 Вкл/выкл режим отладки
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
GUNICORN_WORKERS 4 Количество рабочих процессов Gunicorn
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_BASE_URL keycloak:80/auth Обязательно Адрес Keycloak
KEYCLOAK_API_GRANT_TYPE password Обязательно Тип подтверждения, например пароль (password)
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB meetings Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_SERVICE_URI http://profile URL сервиса Profile
ROLES_SERVICE_URI http://roles URL сервиса Roles
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
FILESTORAGE_SERVICE_AUTH_TOKEN ***** Обязательно Токен для доступа сервису к Filestorage, когда нет пользователя
JWT_PUB_KEY Обязательно Публичный ключ для расшифровки токена
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/meetings:release-peoplehub-v4-17-1
  2. Запуск контейнера:

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

    • Создание пользователя панели администратора:
      sh -c python manage.py createsuperuser --noinput || exit 0

  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

NEWS

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

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

Переменная Пример Необходимость Описание
API_BASE_URL /api/news Обязательно Префикс API сервиса
BASE_HOST https://people-hub.ru/ Адрес хоста, где развернут портал VK People Hub
COMMENTS_API_URL http://comments URL сервиса Comments
DEBUG 1 Вкл/выкл режим отладки
DICTIONARY_SERVICE http://dictionaries URL сервиса Dictionary
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_GRANT_TYPE password Обязательно Тип подтверждения, например пароль (password)
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB news Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_SERVICE_URI http://profile URL сервиса Profile
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
ROLES_API_URL http://roles URL сервиса Roles
SERVER_HOST 0.0.0.0 Хост контейнера
TAGS_API_URL http://tags-backend/api/tags/ Обязательно URL сервиса Tags
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
FILESTORAGE_SERVICE_AUTH_TOKEN ***** Обязательно Токен для доступа сервису к Filestorage, когда нет пользователя
JWT_PUB_KEY Обязательно Публичный ключ для расшифровки токена
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SERVICE_AUTH_TOKEN
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/news:release-peoplehub-v4-17-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

POLLS

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

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

Переменная Пример Необходимость Описание
ALLOWED_HOSTS * Список разрешенных IP
API_BASE_URL api/polls/ Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
GUNICORN_BIND 0.0.0.0:8000 Адрес и порт, на которых Gunicorn получает входящие HTTP-запросы
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_BASE_URL keycloak:80/auth Обязательно Адрес Keycloak
KEYCLOAK_API_GRANT_TYPE password Обязательно Тип подтверждения, например пароль (password)
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB polls Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_SERVICE_URI http://profile URL сервиса Profile
SENTRY_DSN https://*@sentry.digital-insider.ru/2 Обязательно Адрес Sentry
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
DEBUG_SERVICE_AUTH_TOKEN
FILESTORAGE_SERVICE_AUTH_TOKEN ***** Обязательно Токен для доступа сервису к Filestorage, когда нет пользователя
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/polls:release-peoplehub-v4-17-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 createsuperuser --noinput || exit 0

  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
CMS_API_URL http://cms/ Обязательно URL сервиса CMS
COMMENTS_API_URL http://comments URL сервиса Comments
DEBUG 1 Вкл/выкл режим отладки
DICTIONARY_API_URL http://dictionaries Обязательно URL сервиса Dictionary
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
GAMIFICATION_API_URL http://gamification URL сервиса Gamification
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
LOGGING_LEVEL INFO Переменная для более ранних версий
NEWS_API_URL http://news/api/news/ Обязательно URL и префикс сервиса News
PG_DB reactions Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_API_URL http://profile Обязательно URL сервиса Profile
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
SERVER_PORT 8000 Порт контейнера
TASKS_API_URL http://tasks-backend/api/tasks/ Обязательно URI сервиса Tasks
TIMELINES_API_URL http://timelines-backend/api/timelines/ Обязательно URL сервиса Timelines
UVICORN_WORKERS 4 Количество рабочих процессов uvicorn
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/reactions:release-peoplehub-v4-17-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
CLICKHOUSE_AUTO_SYNC_SCHEDULE_TIMEOUT 2 Управление периодической синхронизацией данных или выполнения определенных задач по расписанию
CLICKHOUSE_CELERY_QUEUE clickhouse Название очереди для шины данных между двумя таблицами в БД ClickHouse
CLICKHOUSE_DB intranet Имя БД ClickHouse
CLICKHOUSE_HOST clickhouse Хост БД ClickHouse
CLICKHOUSE_PORT 8123 Порт БД ClickHouse
CMS_SERVICE_URI http://cms/ Обязательно URL сервиса CMS
DEBUG 1 Вкл/выкл режим отладки
DEFAULT_CLICKHOUSE_DB_MIGRATE 0 Применение миграций
DEFAULT_CLICKHOUSE_DB_READONLY 0 Дефолтная база данных только на чтение
EVENTS_SERVICE_URI http://events/api/events/ URL и префикс сервиса Events
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB reports Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_SERVICE_URI http://profile URL сервиса Profile
REDIS_LOCATION redis://redis Обязательно Арес Redis
REDIS_SOCKET_TIMEOUT 10 Настройка времени ожидания сокета для подключения к Redis
ROLES_SERVICE_URI http://roles URL сервиса Roles
SERVICE_NAME cms Имя сервиса
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
CLICKHOUSE_PASSWORD Пароль для администратора БД ClickHouse
CLICKHOUSE_USER intranet Логин для администратора БД ClickHouse
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/reports:release-peoplehub-v4-17-1
  2. Запуск контейнера:

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

    • Создание пользователя панели администратора:
      sh -c python manage.py createsuperuser --noinput || exit 0

  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_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB settings Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_SERVICE_URL http://profile-backend/ Обязательно URI сервиса Profile
SITE_DOMAIN https://people-hub.ru/ Адрес хоста, где развернут портал VK People Hub
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
AUTH_RESPONSE_CLIENT_ID ph-prod Обязательно Идентификатор клиента, который получается в ответе на запрос авторизации или аутентификации
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
  1. Целевой образ:

    • docker.people-hub.ru/ph/settings:release-peoplehub-v4-17-1
  2. Запуск контейнера:

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

    • Создание пользователя панели администратора:
      sh -c python create_admin_panel_user.py $DJANGO_SUPERUSER_USERNAME $DJANGO_SUPERUSER_PASSWORD

  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

TAGS

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

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

Переменная Пример Необходимость Описание
API_BASE_URL /api/tags Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
DICTIONARY_SERVICE_URI http://dictionaries URL сервиса Dictionary
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
LOGGING_LEVEL INFO Переменная для более ранних версий
PG_DB tags Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_API_URL http://profile Обязательно URL сервиса Profile
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
SERVER_PORT 8000 Порт контейнера
UVICORN_WORKERS 4 Количество рабочих процессов uvicorn
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

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

    • docker.people-hub.ru/ph/tasks:release-peoplehub-v4-17-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

    • Создание пользователя панели администратора:
      sh -c python manage.py createsuperuser --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

TERMSOFUSE

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

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

Переменная Пример Необходимость Описание
API_BASE_URL api/terms-of-use/ Обязательно Префикс API сервиса
DEBUG 1 Вкл/выкл режим отладки
GUNICORN_WORKERS 4 Количество рабочих процессов Gunicorn
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_API_REALM realm Обязательно Название Realm
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
PG_DB termsofuse Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
DEBUG_SERVICE_AUTH_TOKEN
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
JWT_PUB_KEY Обязательно Публичный ключ для расшифровки токена
KEYCLOAK_API_CLIENT_ID Обязательно ID клиента Keycloak
KEYCLOAK_API_PASSWORD password Обязательно Пароль для администратора Keycloak
KEYCLOAK_API_USERNAME username Обязательно Логин для администратора Keycloak
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
  1. Целевой образ:

    • docker.people-hub.ru/ph/termsofuse:release-peoplehub-v4-17-1
  2. Запуск контейнера:

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

    • Создание пользователя панели администратора:
      sh -c python manage.py createsuperuser --noinput || exit 0

  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
CMS_API_URL http://cms/ Обязательно URL сервиса CMS
COMMENTS_API_URL http://comments URL сервиса Comments
DEBUG 1 Вкл/выкл режим отладки
FILESTORAGE_API_URL http://filestorage/api/filestorage/ Обязательно URL и префикс сервиса Filestorage
GAMIFICATION_API_URL http://gamification URL сервиса Gamification
GROUPS_API_URL http://groups URL сервиса Groups
HEALTH_EXTRA_ENABLE 1 Обязательно Включение адресов для проверки состояния приложения
KAFKA_BROKER kafka:9092 Адрес Kafka
KEYCLOAK_AUDIENCE ph-client Обязательно Название аудиенции (keycloak token audience), где находятся пользователи
KEYCLOAK_ENDPOINT http://keycloak/auth Обязательно URL keycloak для получения публичного ключа
KEYCLOAK_REALM ph Обязательно keycloak realm для получения ключа
LOGGING_LEVEL INFO Переменная для более ранних версий
NEWS_API_URL http://news/api/news/ Обязательно URL и префикс сервиса News
PG_DB timelines Обязательно Имя БД PostgreSQL
PG_HOST pgbouncer Обязательно Хост БД PostgreSQL
PG_PORT 5432 Обязательно Порт БД PostgreSQL
PROFILE_API_URL http://profile Обязательно URL сервиса Profile
PROMETHEUS_MONITORING_ENABLED TRUE Включение URL с Prometheus
REACTIONS_API_URL http://reactions-backend/api/reactions/ Обязательно URL сервиса Reactions
SERVER_PORT 8000 Порт контейнера
UVICORN_WORKERS 4 Количество рабочих процессов uvicorn
DJANGO_SUPERUSER_EMAIL ph-admin@people-hub.ru Обязательно Почта для суперадмина
DJANGO_SUPERUSER_USERNAME ph-admin Обязательно Имя суперадмина
PG_PASSWORD Обязательно Пароль для администратора БД PostgreSQL
PG_USER ph Обязательно Логин для администратора БД PostgreSQL
SECRET_KEY Уникальный ключ для Django, используемый в веб-приложениях для обеспечения безопасности
DJANGO_SUPERUSER_PASSWORD ***** Обязательно Пароль суперадмина
  1. Целевой образ:

    • docker.people-hub.ru/ph/timelines:release-peoplehub-v4-17-1
  2. Запуск контейнера:

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

    • Создание пользователя панели администратора:
      sh -c python src/commands/create_admin_panel_user.py $DJANGO_SUPERUSER_USERNAME $DJANGO_SUPERUSER_PASSWORD

  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