Миграция на OSA Proxy Go¶
Этот раздел описывает перенос конфигурации со старой Java/Spring-версии OSA Proxy на OSA Proxy Go. Legacy-конфигурация использовала файл application.yml; Go-версия использует osa-proxy.yml.
Основные изменения¶
| Было в legacy OSA Proxy | Стало в OSA Proxy Go |
|---|---|
application.yml |
osa-proxy.yml |
codescoring.host |
codescoring.url |
codescoring.proxy-manager-host |
codescoring.osa-proxy-url |
Spring Boot logging через logging.level.ru.codescoring |
logging.level: debug/info/warn/error |
| Actuator endpoints | /healthz, /metrics, /api/v3/api-docs, /api/swagger/ |
Глобальный codescoring.work-mode |
codescoring.work-mode плюс переопределение repository[*].work-mode |
Поля 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-конфигурация:
codescoring:
host: https://codescoring.example.com
token: "<token>"
work-mode: strict_wait
proxy-manager-host: https://osa-proxy.example.com
block-on-codescoring-errors: true
remove-blocked-versions: true
npm:
enabled: true
repository:
- name: internet-npm
scan-package: true
scan-manifest: true
url-encoded-config: true
registry: https://registry.npmjs.org
Конфигурация для OSA Proxy Go:
codescoring:
url: https://codescoring.example.com
token: "<token>"
work-mode: strict_wait
osa-proxy-url: https://osa-proxy.example.com
block-on-codescoring-errors: true
remove-blocked-versions: true
block-status-code: 403
npm:
enabled: true
repository:
- name: internet-npm
scan-package: true
scan-manifest: true
work-mode: strict_wait
url-encoded-config: true
registry: https://registry.npmjs.org
logging:
level: info
После миграции 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 Go.
- Проверьте
GET /healthz,GET /metricsи один тестовый запрос к каждому включенному типу репозитория.
Что удалить из старой конфигурации¶
Spring Boot параметры, JVM options и actuator-настройки не являются частью osa-proxy.yml. Для Go-версии не используются endpoints /actuator/metrics и /actuator/prometheus; метрики доступны напрямую по /metrics.
Страница была полезна?