Skip to content

Commit f984b04

Browse files
committed
Merge branch 'release_osa' into 'master'
Release osa See merge request CodeScoring/docs!607
2 parents a711296 + d780675 commit f984b04

19 files changed

Lines changed: 564 additions & 24 deletions

docs/changelog/proxy-changelog.en.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,31 @@ hide:
55

66
# OSA Proxy Changelog
77

8+
### [2026.5.0] - 2026-01-30
9+
10+
#### Added
11+
12+
- Added [metrics for CodeScoring requests](/osa-proxy/metrics.en/#codescoring-api-metrics)
13+
- Added the ability to replace the URL in the blocking reason link with the one specified in the `OSA-Proxy` config `codescoring.host`. See [configuration](/osa-proxy/config.en)
14+
- Added support for [APK](/osa-proxy/config-apk.en) and [RPM](/osa-proxy/config-rpm.en) repositories
15+
- Added support for configuring `JAVA_OPTS` in the Helm chart. See [installation](/osa-proxy/installation.en)
16+
- Added support for [Docker repositories](/osa-proxy/config-docker.en)
17+
!!! note "Pulling official images"
18+
Pulling official images without the `library` prefix (e.g., `docker pull <osa-proxy-host>/postgres`) will be available in the next patch release. Currently, the full path must be used: `docker pull <osa-proxy-host>/library/postgres`
19+
20+
#### Fixed
21+
22+
- Fixed operation with remote repositories behind **Cloudflare**, which resulted in error code 1101 from Cloudflare
23+
- Fixed an error with adding the repository to the package name in `PURL` for Go
24+
25+
#### Changed
26+
27+
- Changed `gateway_route_<package_type>_requests_seconds` [metrics](/osa-proxy/metrics.en) from Histogram to SLO (10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1s, 2s, 5s)
28+
29+
#### Removed
30+
31+
- Removed duplicate `gateway_route_` metric `http_server_requests`
32+
833
### [2025.52.2] - 2026-01-19
934

1035
#### Fixed

docs/changelog/proxy-changelog.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,31 @@ hide:
55

66
# OSA Proxy Changelog
77

8+
### [2026.5.0] - 2026-01-30
9+
10+
#### Добавлено
11+
12+
- Добавлены [метрики обращений](/osa-proxy/metrics.en/#codescoring-api-metrics) в CodeScoring
13+
- Добавлена возможность подменять URL в ссылке на причину блокировки на указанный в конфиге `OSA-Proxy` `codescoring.host`. Подробнее в [документации](/osa-proxy/config)
14+
- Добавлена поддержка [APK](/osa-proxy/config-apk) и [RPM](/osa-proxy/config-rpm) репозиториев
15+
- Добавлена поддержка настройки `JAVA_OPTS` в Helm-чарте. Подробнее в [документации](/osa-proxy/installation)
16+
- Добавлена поддержка [Docker-репозиториев](/osa-proxy/config-docker)
17+
!!! note "Особенности загрузки официальных образов"
18+
Загрузка официальных образов без префикса `library` (например, `docker pull <osa-proxy-host>/postgres`) будет добавлена в следующем патч-релизе. На данный момент необходимо использовать полный путь: `docker pull <osa-proxy-host>/library/postgres`
19+
20+
#### Исправлено
21+
22+
- Исправлена работа с удаленными репозиториями за **Cloudflare**, приводившая к коду ошибки 1101 от Cloudflare
23+
- Исправлена ошибка с добавлением репозитория к имени пакета в `PURL` для Go
24+
25+
#### Изменено
26+
27+
- Изменены [метрики](/osa-proxy/metrics) `gateway_route_<package_type>_requests_seconds` с Histogram на SLO (10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1s, 2s, 5s)
28+
29+
#### Удалено
30+
31+
- Удалена дублирующая `gateway_route_` метрика `http_server_requests`
32+
833
### [2025.52.2] - 2026-01-19
934

1035
#### Исправлено

docs/osa-proxy/config-apk.en.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
hide:
3+
- footer
4+
---
5+
6+
# Alpine Package Configuration
7+
8+
## Repository URL Migration
9+
10+
**Use case:** Migration of Alpine repositories from direct sources to an OSA Proxy server.
11+
12+
The following table summarizes the redirection of repository URLs for Alpine.
13+
14+
| Source | URL in `repositories` before migration | URL in `repositories` after migration | `application.yml` alpine.repository.registry |
15+
|-----------------|---------------------------------------------------|----------------------------------------|---------------------------------------------------|
16+
| Nexus | `https://nexus.host.ru/repository/alpine-proxy` | `https://{osa-proxy-url}/nexus-alpine` | `https://nexus.host.ru/repository/alpine-proxy` |
17+
| Artifactory | `https://jfrog.host.ru/artifactory/alpine-remote` | `https://{osa-proxy-url}/jfrog-alpine` | `https://jfrog.host.ru/artifactory/alpine-remote` |
18+
| Official Alpine | `https://dl-cdn.alpinelinux.org/alpine` | `https://{osa-proxy-url}/inet-alpine` | `https://dl-cdn.alpinelinux.org/alpine` |
19+
20+
## APK Repository Migration
21+
22+
**Original file `/etc/apk/repositories`:**
23+
24+
```shell
25+
https://dl-cdn.alpinelinux.org/alpine
26+
```
27+
28+
The following repository definition needs to be added to the service's YAML configuration (the `application.yml` file) in the alpine section. The service must be restarted for the changes to take effect.
29+
30+
**Configuration in `application.yml` file**
31+
32+
```yaml
33+
alpine:
34+
enabled: true
35+
repository:
36+
- name: codescoring-alpine
37+
scan-package: true
38+
registry: https://dl-cdn.alpinelinux.org/alpine
39+
```
40+
41+
After configuring the proxy server and adding it to `application.yml`, your repositories file will look like this:
42+
43+
```shell
44+
https://{osa-proxy-url}/codescoring-alpine
45+
```

docs/osa-proxy/config-apk.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
hide:
3+
- footer
4+
---
5+
6+
# Конфигурация Alpine пакетов
7+
8+
## Миграция URL репозитория
9+
10+
**Сценарий использования:** миграция репозиториев Alpine с прямых источников на прокси-сервер OSA Proxy.
11+
12+
Следующая таблица содержит сводку по перенаправлению URL репозиториев для Alpine.
13+
14+
| Источник | URL в `repositories` до миграции | URL в `repositories` после миграции | `application.yml` alpine.repository.registry |
15+
|--------------------|---------------------------------------------------|----------------------------------------|---------------------------------------------------|
16+
| Nexus | `https://nexus.host.ru/repository/alpine-proxy` | `https://{osa-proxy-url}/nexus-alpine` | `https://nexus.host.ru/repository/alpine-proxy` |
17+
| Artifactory | `https://jfrog.host.ru/artifactory/alpine-remote` | `https://{osa-proxy-url}/jfrog-alpine` | `https://jfrog.host.ru/artifactory/alpine-remote` |
18+
| Официальный Alpine | `https://dl-cdn.alpinelinux.org/alpine` | `https://{osa-proxy-url}/inet-alpine` | `https://dl-cdn.alpinelinux.org/alpine` |
19+
20+
## Миграция APK репозитория
21+
22+
**Исходный файл `/etc/apk/repositories`:**
23+
24+
```shell
25+
https://dl-cdn.alpinelinux.org/alpine
26+
```
27+
28+
Следующее определение репозитория необходимо добавить в YAML-конфигурацию сервиса (файл `application.yml`) в секцию alpine. Для применения изменений требуется перезапуск сервиса.
29+
30+
**Конфигурация в файле `application.yml`**
31+
32+
```yaml
33+
alpine:
34+
enabled: true
35+
repository:
36+
- name: codescoring-alpine
37+
scan-package: true
38+
registry: https://dl-cdn.alpinelinux.org/alpine
39+
```
40+
41+
После настройки прокси-сервера и добавления его в application.yml, ваш файл репозиториев будет выглядеть так:
42+
43+
```shell
44+
https://{osa-proxy-url}/codescoring-alpine
45+
```

docs/osa-proxy/config-docker.en.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
hide:
3+
- footer
4+
---
5+
6+
# Docker Registry Configuration
7+
8+
## Registry URL Migration
9+
10+
**Use case:** Migration of Docker registries from direct sources to an OSA Proxy server.
11+
12+
The following table summarizes the redirection of URLs for Docker.
13+
14+
| Source | URL before migration | URL after migration | `application.yml` docker.repository.registry |
15+
|-----------------|----------------------------------------------------|----------------------------------------|----------------------------------------------------|
16+
| Nexus | `nexus.host.ru:5000` | `{osa-proxy-url}/nexus-docker` | `https://nexus.host.ru:5000` |
17+
| Artifactory | `jfrog.host.ru/docker-remote` | `{osa-proxy-url}/jfrog-docker` | `https://jfrog.host.ru/docker-remote` |
18+
| Docker Hub | `registry.hub.docker.com` | `{osa-proxy-url}/codescoring-docker` | `https://registry-1.docker.io` |
19+
20+
## Docker Client Migration
21+
22+
23+
The following repository definition needs to be added to the service's YAML configuration (the `application.yml` file) in the docker section. The service must be restarted for the changes to take effect.
24+
25+
**Configuration in `application.yml` file**
26+
27+
```yaml
28+
docker:
29+
enabled: true
30+
repository:
31+
- name: codescoring-docker
32+
scan-package: true
33+
registry: https://registry-1.docker.io
34+
auth-token-url: https://auth.docker.io
35+
registry: https://jfrog.host.ru/docker-remote
36+
```
37+
38+
After configuring the proxy server and adding it to `application.yml`, the command to pull an image will look like this:
39+
40+
```bash
41+
docker pull {osa-proxy-url}/codescoring-docker/library/alpine:latest
42+
```
43+
44+
## Using subdomains for access
45+
46+
If you want to use more than one Docker repository, you need to enable subdomains. The subdomain names must match the repository names specified in the `docker.repository` configuration.
47+
48+
In this case, the command to pull an image will look like this:
49+
```bash
50+
docker pull codescoring-docker.osaproxyhost.ru/library/postgres
51+
```
52+
53+
For a single repository, there is no need to add a subdomain — Docker will be available directly via the OSA Proxy host:
54+
```bash
55+
docker pull osaproxyhost.ru/library/postgres
56+
```

docs/osa-proxy/config-docker.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
hide:
3+
- footer
4+
---
5+
6+
# Конфигурация Docker Registry
7+
8+
## Миграция URL реестра
9+
10+
**Сценарий использования:** миграция Docker реестров с прямых источников на прокси-сервер OSA Proxy.
11+
12+
Следующая таблица содержит сводку по перенаправлению URL для Docker.
13+
14+
| Источник | URL до миграции | URL после миграции | `application.yml` docker.repository.registry |
15+
|--------------------|----------------------------------------------------|----------------------------------------|----------------------------------------------------|
16+
| Nexus | `nexus.host.ru:5000` | `{osa-proxy-url}/nexus-docker` | `https://nexus.host.ru:5000` |
17+
| Artifactory | `jfrog.host.ru/docker-remote` | `{osa-proxy-url}/jfrog-docker` | `https://jfrog.host.ru/docker-remote` |
18+
| Docker Hub | `registry.hub.docker.com` | `{osa-proxy-url}/codescoring-docker` | `https://registry-1.docker.io` |
19+
20+
## Миграция Docker клиента
21+
22+
Следующее определение репозитория необходимо добавить в YAML-конфигурацию сервиса (файл `application.yml`) в секцию docker. Для применения изменений требуется перезапуск сервиса.
23+
24+
**Конфигурация в файле `application.yml`**
25+
26+
```yaml
27+
docker:
28+
enabled: true
29+
repository:
30+
- name: codescoring-docker
31+
scan-package: true
32+
registry: https://registry-1.docker.io
33+
auth-token-url: https://auth.docker.io
34+
```
35+
36+
После настройки прокси-сервера и добавления его в application.yml, команда для загрузки образа будет выглядеть так:
37+
38+
```bash
39+
docker pull {osa-proxy-url}/codescoring-docker/library/alpine:latest
40+
```
41+
42+
## Использование поддоменов для доступа
43+
44+
При использовании более одного Docker-репозитория необходимо включить поддержку поддоменов. Имена поддоменов должны соответствовать именам репозиториев из конфигурации `docker.repository`.
45+
46+
В этом случае команда для загрузки образа будет выглядеть так:
47+
```bash
48+
docker pull codescoring-docker.osaproxyhost.ru/library/postgres
49+
```
50+
51+
Если настроен только один репозиторий, использование поддоменов не требуется — Docker-реестр будет доступен напрямую через хост OSA Proxy:
52+
```bash
53+
docker pull osaproxyhost.ru/library/postgres
54+
```

docs/osa-proxy/config-rpm.en.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
hide:
3+
- footer
4+
---
5+
6+
# RPM Package Configuration
7+
8+
## Repository URL Migration
9+
10+
**Use case:** Migration of RPM repositories (YUM/DNF) from direct sources to an OSA Proxy server.
11+
12+
The following table summarizes the redirection of repository URLs for RPM.
13+
14+
| Source | `baseurl` in `.repo` before migration | `baseurl` in `.repo` after migration | `application.yml` rpm.repository.registry |
15+
|-----------------|----------------------------------------------------|----------------------------------------|----------------------------------------------------|
16+
| Nexus | `https://nexus.host.ru/repository/rpm-proxy` | `https://{osa-proxy-url}/nexus-rpm` | `https://nexus.host.ru/repository/rpm-proxy` |
17+
| Artifactory | `https://jfrog.host.ru/artifactory/rpm-remote` | `https://{osa-proxy-url}/jfrog-rpm` | `https://jfrog.host.ru/artifactory/rpm-remote` |
18+
| Official Mirror | `https://repo.almalinux.org/almalinux` | `https://{osa-proxy-url}/inet-rpm` | `https://repo.almalinux.org/almalinux` |
19+
20+
## YUM/DNF Repository Migration
21+
22+
**Original file `/etc/yum.repos.d/almalinux.repo`:**
23+
24+
```ini
25+
[baseos]
26+
name=AlmaLinux $releasever - BaseOS
27+
baseurl=https://repo.almalinux.org/almalinux/$releasever/BaseOS/$basearch/os/
28+
enabled=1
29+
gpgcheck=1
30+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
31+
```
32+
33+
The following repository definition needs to be added to the service's YAML configuration (the `application.yml` file) in the rpm section. The service must be restarted for the changes to take effect.
34+
35+
**Configuration in `application.yml` file**
36+
37+
```yaml
38+
rpm:
39+
enabled: true
40+
repository:
41+
- name: codescoring-rpm
42+
scan-package: true
43+
registry: https://repo.almalinux.org/almalinux
44+
```
45+
46+
After configuring the proxy server and adding it to `application.yml`, the repository configuration will look like this:
47+
48+
```ini
49+
[baseos]
50+
name=AlmaLinux $releasever - BaseOS
51+
baseurl=https://{osa-proxy-url}/codescoring-rpm/$releasever/BaseOS/$basearch/os/
52+
enabled=1
53+
gpgcheck=1
54+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
55+
```

docs/osa-proxy/config-rpm.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
hide:
3+
- footer
4+
---
5+
6+
# Конфигурация RPM пакетов
7+
8+
## Миграция URL репозитория
9+
10+
**Сценарий использования:** миграция репозиториев RPM (YUM/DNF) с прямых источников на прокси-сервер OSA Proxy.
11+
12+
Следующая таблица содержит сводку по перенаправлению URL репозиториев для RPM.
13+
14+
| Источник | `baseurl` в `.repo` до миграции | `baseurl` в `.repo` после миграции | `application.yml` rpm.repository.registry |
15+
|--------------------|----------------------------------------------------|----------------------------------------|----------------------------------------------------|
16+
| Nexus | `https://nexus.host.ru/repository/rpm-proxy` | `https://{osa-proxy-url}/nexus-rpm` | `https://nexus.host.ru/repository/rpm-proxy` |
17+
| Artifactory | `https://jfrog.host.ru/artifactory/rpm-remote` | `https://{osa-proxy-url}/jfrog-rpm` | `https://jfrog.host.ru/artifactory/rpm-remote` |
18+
| Официальный Mirror | `https://repo.almalinux.org/almalinux` | `https://{osa-proxy-url}/inet-rpm` | `https://repo.almalinux.org/almalinux` |
19+
20+
## Миграция YUM/DNF репозитория
21+
22+
**Исходный файл `/etc/yum.repos.d/almalinux.repo`:**
23+
24+
```ini
25+
[baseos]
26+
name=AlmaLinux $releasever - BaseOS
27+
baseurl=https://repo.almalinux.org/almalinux/$releasever/BaseOS/$basearch/os/
28+
enabled=1
29+
gpgcheck=1
30+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
31+
```
32+
33+
Следующее определение репозитория необходимо добавить в YAML-конфигурацию сервиса (файл `application.yml`) в секцию rpm. Для применения изменений требуется перезапуск сервиса.
34+
35+
**Конфигурация в файле `application.yml`**
36+
37+
```yaml
38+
rpm:
39+
enabled: true
40+
repository:
41+
- name: codescoring-rpm
42+
scan-package: true
43+
registry: https://repo.almalinux.org/almalinux
44+
```
45+
46+
После настройки прокси-сервера и добавления его в application.yml, конфигурация репозитория будет выглядеть так:
47+
48+
```ini
49+
[baseos]
50+
name=AlmaLinux $releasever - BaseOS
51+
baseurl=https://{osa-proxy-url}/codescoring-rpm/$releasever/BaseOS/$basearch/os/
52+
enabled=1
53+
gpgcheck=1
54+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
55+
```

0 commit comments

Comments
 (0)