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