Миграция с архивного OSA Proxy
Эта страница относится к текущей реализации OSA Proxy. Архивная Java/Spring-реализация доступна в разделе Архивная Java/Spring-реализация.
Этот раздел описывает перенос конфигурации с архивной Java/Spring-версии OSA Proxy на текущую реализацию OSA Proxy. Архивная конфигурация использовала файл application.yml; текущая версия использует osa-proxy.yml.
Основные изменения
Поля codescoring.enable-status-line, codescoring.block-status-code, codescoring.block-on-codescoring-errors и codescoring.remove-blocked-versions сохраняют смысл, но должны быть перенесены в новую структуру osa-proxy.yml.
Новые возможности
- Поддержка Composer и RubyGems.
- Переопределение режима работы для отдельного репозитория через
repository[*].work-mode. - Фильтрация типов файлов на уровне репозитория через
repository[*].file-type-filter. - Явная настройка HTTP-сервера и HTTP-клиента в
http.serverиhttp.clientвместо Spring Boot / WebFlux properties.
Пример миграции npm
Legacy-конфигурация:
Конфигурация для текущего OSA Proxy:
После миграции npm-клиент использует тот же route name:
Checklist миграции
- Создайте новый файл
osa-proxy.yml. - Перенесите URL платформы CodeScoring из
codescoring.hostвcodescoring.url. - Перенесите токен в
codescoring.token. - Перенесите внешний URL прокси из
codescoring.proxy-manager-hostвcodescoring.osa-proxy-url. - Выберите глобальный
codescoring.work-modeи при необходимости задайтеrepository[*].work-modeдля отдельных репозиториев. - Перенесите секции пакетных менеджеров и проверьте
name,registry,scan-manifest,scan-package,url-encoded-config. - Включайте
cache.judge.enabledтолько если доступен Redis и нужно кэширование вердиктов. - Обновите конфигурацию package managers, чтобы они использовали URL текущего OSA Proxy.
- Проверьте
GET /healthz,GET /metricsи один тестовый запрос к каждому включенному типу репозитория.
Что удалить из старой конфигурации
Spring Boot параметры, JVM options и actuator-настройки не являются частью osa-proxy.yml. В текущей версии не используются endpoints /actuator/metrics и /actuator/prometheus; метрики доступны напрямую по /metrics.
