Установка сервиса
Эта страница относится к текущей реализации OSA Proxy. Архивная Java/Spring-реализация доступна в разделе Архивная Java/Spring-реализация.
OSA Proxy использует конфигурационный файл osa-proxy.yml. По умолчанию сервис ищет его в рабочей директории, но путь можно передать первым аргументом запуска или через переменную окружения OSA_PROXY_CONFIG_PATH.
Перед запуском текущего OSA Proxy с CodeScoring версии ниже 2026.20.0 укажите codescoring.legacy-judge: true в osa-proxy.yml. В версиях до 2026.20.0 используется legacy API Judge, а OSA Proxy по умолчанию работает с текущим API Judge.
Docker
Пример запуска контейнера с внешним конфигурационным файлом:
Проверка доступности:
Docker Compose
Если включен Redis-кэш вердиктов, добавьте Redis в Compose-файл и укажите его адрес в cache.redis.address.
.env файл
При запуске через Docker Compose файл .env передается в контейнер только если он указан в env_file. Эти переменные можно использовать:
- напрямую как переменные окружения процесса;
- в
osa-proxy.ymlчерез плейсхолдеры вида${VAR_NAME:default_value}.
В примере Compose путь к конфигурации задается отдельно через environment.OSA_PROXY_CONFIG_PATH, поэтому не дублируйте его в .env.
Пример .env:
Пример использования переменных в osa-proxy.yml:
Для секретов используйте .env, а не literal-значения в osa-proxy.yml.
Прокси для исходящих HTTP-запросов
OSA Proxy использует стандартные HTTP-клиенты Go. Они автоматически учитывают переменные окружения HTTP_PROXY, HTTPS_PROXY и NO_PROXY; также можно задавать lowercase-варианты http_proxy, https_proxy, no_proxy.
Пример .env для корпоративного proxy:
NO_PROXY должен включать адреса, к которым сервис должен ходить напрямую: локальные адреса, Redis, внутренние Kubernetes/Docker DNS-имена, внутренние домены CodeScoring или package registry, если они не должны проходить через корпоративный proxy.
Дополнительные CA-сертификаты
Если OSA Proxy должен подключаться к ресурсам с самоподписанными или корпоративными root CA, примонтируйте дополнительные CA-сертификаты в контейнер и укажите их директорию в SSL_CERT_DIR.
Значение SSL_CERT_DIR должно включать как системные CA внутри контейнера, так и директорию с дополнительными сертификатами:
Где:
/etc/ssl/certs— системные CA внутри контейнера;/etc/osa-proxy/certs— директория с дополнительными самоподписанными или корпоративными root CA в PEM/CRT формате.
Пример для Docker Compose:
Helm
Минимальный пример values.yaml:
После установки проверьте endpoints:
