# Запуск сервиса отслеживания экспериментов для тестирования ## Настройка окружения Необходимые для работы фреймворка условия перечислены в [документе с предусловиями](../../deploy/prerequisites.md). Для тестирования сервиса отслеживания экспериментов необходимы: 1. Платформа Kubernetes; 2. Подключаемая системная СУБД; 3. Созданные определения ресурсов фреймворка; Подключение систем и подготовительные шаги описаны в [инструкции](../../deploy/controller.md). ### Параметры конфигурации Параметры конфигурации описаны в [документе](../../deploy/config.md) в разделе конфигурации сервиса отслеживания экспериментов. При запуске вне платформы Kubernetes необходимо указать параметр конфигурации: `UNIP_PIPELINE_RUN_MODE: Debug`. Параметры конфигурации могут быть заданы: 1. В переменных окружения. 2. В файле `.env`. Для запуска также должны быть заданы: 1. Переменная окружения `PYTHONPATH`. Должна указывать на папку `./controller/src`. 2. Переменная окружения `KUBECONFIG`. Должна указывать на файл .kubeconfig с реквизитами доступа к платформе Kubernetes. ## Варианты запуска ### Локальный запуск Перейти в папку ./controller. 1. Создать виртуальное окружение. ```shell python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` 2. Задать параметры конфигурации в `.env` файле или как переменные окружения. Образец `.env` файла - `.env.sample`. 3. Инициализировать БД при необходимости. ```shell python3 -m asyncio ``` ```python from exp_pipeline.storage import db await db.recreate_db() ``` 4. Запустить сервис отслеживания экспериментов. ```shell hypercorn exp_pipeline.api:app -b 127.0.0.1:8001 --reload ``` ### Использование развернутого на плтаформе Kubernetes экземпляра При необходимости использования развернутого на платформе Kubernetes сервиса локально (например, вместе с локальным тестированием контроллеров) можно воспользоваться командой `kubectl port-forward`: `kubectl port-forward service/pipelines-svc 8001:80 -n unip-system-controller`