Migrating from archived OSA Proxy
This page describes the current OSA Proxy implementation. The archived Java/Spring implementation is available in Archived Java/Spring implementation.
This section describes how to migrate configuration from the archived Java/Spring version of OSA Proxy to the current OSA Proxy implementation. The archived configuration used application.yml; the current version uses osa-proxy.yml.
Main changes
The codescoring.enable-status-line, codescoring.block-status-code, codescoring.block-on-codescoring-errors, and codescoring.remove-blocked-versions fields keep the same meaning, but must be moved to the new osa-proxy.yml structure.
New capabilities
- Composer and RubyGems support.
- Repository-level work mode override with
repository[*].work-mode. - Repository-level file type filtering with
repository[*].file-type-filter. - Explicit HTTP server and HTTP client configuration in
http.serverandhttp.clientinstead of Spring Boot / WebFlux properties.
npm migration example
Legacy configuration:
Configuration for the current OSA Proxy:
After migration, the npm client uses the same route name:
Migration checklist
- Create a new
osa-proxy.ymlfile. - Move the CodeScoring platform URL from
codescoring.hosttocodescoring.url. - Move the token to
codescoring.token. - Move the external proxy URL from
codescoring.proxy-manager-hosttocodescoring.osa-proxy-url. - Choose the global
codescoring.work-modeand setrepository[*].work-modefor specific repositories when needed. - Move package manager sections and check
name,registry,scan-manifest,scan-package, andurl-encoded-config. - Enable
cache.judge.enabledonly when Redis is available and verdict caching is required. - Update package manager configuration to use current OSA Proxy URLs.
- Check
GET /healthz,GET /metrics, and one test request for each enabled repository type.
What to remove from the old configuration
Spring Boot parameters, JVM options, and actuator settings are not part of osa-proxy.yml. The current version does not use /actuator/metrics or /actuator/prometheus; metrics are exposed directly at /metrics.
