Установка сервисов People Hub
Для того, чтобы развернуть сервисы входящие в состав продукта VK People Hub в кластере Kubernetes, мы рекомендуем использовать наш универсальный helm chart: https://chart.people-hub.ru universal-chart --version 2.4.1
Все файлы конфигураций и инструкции написаны по этот чарт.
Все сервисы для установки используют один алгоритм. Это запуск установки через helm с использованием чарта шаблона и файлов конфигураций для каждого сервиса.
Для упрощения установки повторяющиеся настройки были вынесены в отдельный файл env.yaml.
Поэтому при установке компонента нужно указывать и файл конфигурации компонента и файл env.yaml.
Шаблон команды установки: helm install <release_name> --values=<values_file> --values=env.yaml peoplehub/universal-chart --version=2.4.1 -n <namespace>
Пример: helm install cms --values=cms.yaml --values=env.yaml peoplehub/universal-chart --version=2.4.1 -n people-hub
Файлы конфигураций нужно скачать из нашего репозитория: https://raw.people-hub.ru/values/release-peoplehub-v{версия_релиза_в_формате_4-50-1}.tar.gz
Например, для релиза 4.50.1 ссылка будет такой: https://raw.people-hub.ru/values/release-peoplehub-v4-50-1.tar.gz
Доступ в репозиторий по единому логину и паролю, которые можно получить у нашего представителя.
Эти авторизационные данные используются для доступа к:
- хранилищу образов docker https://docker.people-hub.ru;
- хранилищу helm чартов https://chart.people-hub.ru;
- хранилищу прочих артефактов https://raw.people-hub.ru.
Если вы планируете установку своими силами и без использования наших helm чартов, то воспользуйтесь нашей документацией. Там вы найдёте техническую документацию к сервисам и список образов.
Для установки сервиса необходимо:
-
Добавьте helm repository (репозиторий доступен только для авторизованных пользователей)
helm repo add people-hub https://chart.people-hub.ru \--username=<имя_пользователя> \--password=<пароль_пользователя> -
Обновите репозитории Helm
helm repo update -
Подготовьте файл значений для развертывания сервиса. Для удобства установки переменные, которые необходимо изменить, вынесены в общий файл настроек env.yaml
-
Установите сервис указав путь к файлу значений
helm install <release_name> --values=<values_file> --values=env.yaml peoplehub/universal-chart --version=2.4.1 -n <namespace>
Образы контейнеров (container images) можно загрузить из нашего container registry (docker.people-hub.ru). Тэг образа соответствует номеру релиза. Например, релизу 4.50.1 соответствует тэг release-peoplehub-v4-50-1.
-
После установки для следующих сервисов необходимо создать пользователя административной панели. Для этого выполните в сервисах следующие команды:
Для сервиса roles
python -m commands.create_admin_panel_user <username> <password>Для gamification
python manage.py createsuperuserввести username email passwordДля meetings
python manage.py createsuperuserввести username email password -
После установки или обновления сервисов требуется запустить команды для миграции данных. Все команды можно найти в описании релиза
-
Актуальный список сервисов можно взять из списка образов списка образов, публикуемого к релизу.
Для django сервисов:python manage.py load_profile_user_data# rolespython -m async_profile_sync.management.load_profile_user_datapython -m commands.add_users_in_default_group# listspython -m async_profile_sync.management.load_profile_user_datapython -m roles_access.fastapi.commands.sync_users_to_groups# sitectorpython -m commands.sync_base_rolespython -m async_profile_sync.management.load_profile_user_datapython -m roles_access.fastapi.commands.sync_users_to_groups# blogspython -m management.load_profile_user_datapython -m roles_access.fastapi.commands.sync_roles_groupspython -m roles_access.fastapi.commands.sync_users_to_groupspython -m management.sync_blogs_roles_to_filestorage --force# filestorages, eventspython manage.py load_profile_user_datapython manage.py sync_users_to_groups# groupspython manage.py recount_active_users_in_groups# pagespython manage.py create_default_data - у новых клиентовpython manage.py change_default_data - у старых клиентов
# groupspython manage.py load_profile_user_data
# rolespython -m group_access.fastapi.commands.sync_organizations# sitectorpython -m group_access.fastapi.commands.sync_organizations# profilespython manage.py sync_users_orgstructure --force# blogspython -m management.sync_open_blogs_editor_to_filestorage# taskspython manage.py load_profile_user_data --force# widgetspython src/commands/migrate_widgets.py - Для того, чтобы добавились виджеты HR Tek
# blogspython -m management.sync_open_blogs_editor_to_filestorage# navigationpython -m commands.update_menu_permissions# notificationspython manage.py update_trigger_settings - Чтобы убрать/добавить категории нужно выполнить команду# filestoragespython manage.py set_images_additional_data# calendarspython manage.py load_profile_user_data --force-updatepython manage.py restore_missing_organizers# eventspython manage.py load_profile_user_data --force-updatepython manage.py migrate_permissionspython manage.py sync_organizations# meetingspython manage.py load_profile_user_data --force-updatepython manage.py sync_organizations# profilespython manage.py sync_users_orgstructure
# eventspython manage.py load_profile_user_data --force-update# calendarspython manage.py load_profile_user_data --force-updatepython manage.py restore_missing_organizers
# navigationpython -m commands.update_menu_permissions# blogspython -m management.sync_blogs_local_site_readers_to_filestorage
# sitectorpython -m commands.sync_base_roles
# filestoragespython manage.py refresh_shared_folders_roles_assignmentspython manage.py remove_admin_from_shared_folderspython manage.py refresh_blogs_folders_roles_assignments
# sitectorpython -m commands.sync_base_roles
# pagespython manage.py change_default_data# filestoragespython manage.py associate_tags_in_sites # depends on tags# calendarspython manage.py load_profile_user_data# navigationpython -m commands.update_menu_permissions
# pagespython manage.py change_default_data# sitectorpython -m commands.sync_base_roles
# eventspython manage.py fix_calendar_events_typepython manage.py delete_draft_calendar_eventspython manage.py create_calendar_events
# rolespython -m commands.delete_dublicated_role_for_superusers# sitectorpython -m commands.migrate_cms_admins
# rolespython -m commands.delete_dublicated_role_for_superusers# pagespython manage.py change_default_data# filestoragepython manage.py create_shared_folderpython manage.py sync_base_rolespython manage.py refresh_site_roles_assignments