Service deployment
This page describes the current OSA Proxy implementation. The archived Java/Spring implementation is available in Archived Java/Spring implementation.
OSA Proxy uses the osa-proxy.yml configuration file. By default, the service looks for it in the working directory, but the path can be passed as the first startup argument or through the OSA_PROXY_CONFIG_PATH environment variable.
Before starting the current OSA Proxy with CodeScoring versions earlier than 2026.20.0, set codescoring.legacy-judge: true in osa-proxy.yml. Versions before 2026.20.0 use the legacy Judge API, while OSA Proxy uses the current Judge API by default.
Docker
Example container run with an external configuration file:
Availability check:
Docker Compose
If Redis verdict cache is enabled, add Redis to the Compose file and set its address in cache.redis.address.
.env file
When running with Docker Compose, .env is passed into the container only when it is listed in env_file. These variables can be used:
- directly as process environment variables;
- in
osa-proxy.ymlthrough${VAR_NAME:default_value}placeholders.
In the Compose example, the configuration path is set separately through environment.OSA_PROXY_CONFIG_PATH, so do not duplicate it in .env.
Example .env:
Example usage in osa-proxy.yml:
Store secrets in .env, not as literal values in osa-proxy.yml.
Proxy settings for outgoing HTTP requests
OSA Proxy uses standard Go HTTP clients. They automatically respect the HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables; lowercase variants http_proxy, https_proxy, and no_proxy can also be used.
Example .env for a corporate proxy:
NO_PROXY should include addresses that the service must reach directly: local addresses, Redis, internal Kubernetes/Docker DNS names, internal CodeScoring domains, or internal package registries that should not go through the corporate proxy.
Additional CA Certificates
If OSA Proxy needs to connect to resources that use self-signed or corporate root CAs, mount the additional CA certificates into the container and add their directory to SSL_CERT_DIR.
The SSL_CERT_DIR value must include both the system CAs inside the container and the directory with additional certificates:
Where:
/etc/ssl/certsis the system CA directory inside the container;/etc/osa-proxy/certsis the directory with additional self-signed or corporate root CAs in PEM/CRT format.
Docker Compose example:
Helm
Minimal values.yaml example:
After installation, check the endpoints:
