Конфигурация
Поведение инструмента можно настроить через файл конфигурации maven_check_versions.yml.
Доступные настройки:
- Проверка SSL: Включение или отключение проверки SSL при HTTP-запросах.
- Настройки кэша: Управление временем жизни и поведением кэша.
- Настройки репозиториев: Задание базовых URL, аутентификации и путей для репозиториев.
- Настройки логирования: Уровни и пути для логов.
- Проверка уязвимостей: Настройка проверки зависимостей на известные уязвимости.
Настройки кэша
Инструмент поддерживает несколько бэкендов кэша:
- JSON (по умолчанию): локальный JSON-файл.
- Redis: сервер Redis.
- Tarantool: сервер Tarantool.
- Memcached: сервер Memcached.
Настройки проверки уязвимостей
Для включения проверки уязвимостей установите oss_index_enabled: true в разделе vulnerability конфигурационного файла.
Инструмент использует сервис OSS Index для обнаружения известных уязвимостей. Понадобятся имя пользователя и токен API, которые можно получить после регистрации на https://ossindex.sonatype.org/.
Пример конфигурации:
- Проверять все зависимости через OSS Index
- Останавливать сборку, если CVSS ≥ 7.0
- Пропускать тестовые компоненты
vulnerability:
oss_index_enabled: true
oss_index_url: "https://ossindex.sonatype.org/api/v3/component-report"
oss_index_user: "OSS_INDEX_USER"
oss_index_token: "OSS_INDEX_TOKEN"
oss_index_batch_size: 128
oss_index_keep_safe: false
fail_score: 7
skip_no_versions: false
skip_checks: [ "junit:junit:*" ]
cache_backend: "json"
Файл конфигурации
base:
cache_off: false
cache_time: 600
cache_backend: "json"
# Настройки Redis кэша
redis_host: "localhost"
redis_port: 6379
redis_key: "maven_check_versions_artifacts"
redis_user: null
redis_password: null
# Настройки Tarantool кэша
tarantool_host: "localhost"
tarantool_port: 3301
tarantool_space: "maven_check_versions_artifacts"
tarantool_user: null
tarantool_password: null
# Настройки Memcached кэша
memcached_host: "localhost"
memcached_port: 11211
memcached_key: "maven_check_versions_artifacts"
fail_mode: false
fail_major: 0
fail_minor: 0
search_plugins: false
process_modules: false
show_skip: false
show_search: false
empty_version: false
show_invalid: false
skip_current: true
threading: true
max_threads: 8
user: "USER"
password: "PASSWORD"
# Настройки проверки уязвимостей
vulnerability:
oss_index_enabled: true
oss_index_url: "https://ossindex.sonatype.org/api/v3/component-report"
oss_index_user: "OSS_INDEX_USER"
oss_index_token: "OSS_INDEX_TOKEN"
oss_index_batch_size: 128
oss_index_keep_safe: false
fail_score: 0
cve_reference: false
skip_no_versions: false
skip_checks: []
cache_backend: "json"
# Настройки Redis для проверки уязвимостей
redis_host: "localhost"
redis_port: 6379
redis_key: "maven_check_versions_vulnerabilities"
redis_user: null
redis_password: null
# Настройки Tarantool для проверки уязвимостей
tarantool_host: "localhost"
tarantool_port: 3301
tarantool_space: "maven_check_versions_vulnerabilities"
tarantool_user: null
tarantool_password: null
# Настройки Memcached для проверки уязвимостей
memcached_host: "localhost"
memcached_port: 11211
memcached_key: "maven_check_versions_vulnerabilities"
# Настройки HTTP-доступа к POM
pom_http:
auth: false
user: "USER"
password: "PASSWORD"
# Настройки urllib3
urllib3:
warnings: true
# Настройки requests
requests:
verify: true
# Список POM-файлов для обработки
pom_files:
pom-name: "path/to/pom.xml"
# Конфигурации репозиториев
repositories:
"Central (repo1.maven.org)": "repo1_maven"
# Настройки для repo1.maven
repo1_maven:
base: "https://repo1.maven.org"
path: "maven2"
auth: false
user: "USER"
password: "PASSWORD"
repo: "maven2"
service_rest: false
Переменные окружения
Инструмент поддерживает переменные окружения для переопределения настроек или предоставления учетных данных.
Формат: CV_<KEY> где <KEY> соответствует ключу конфигурации раздела base.
| Переменная | Описание | Пример |
|---|---|---|
CV_CACHE_OFF | Отключает кэш при установке в true. | true |
CV_CACHE_TIME | Время жизни кэша в секундах. | 3600 |
CV_FAIL_MODE | Включает режим отказа при установке true. | true |
CV_FAIL_MAJOR | Устанавливает порог по основной версии. | 1 |
CV_FAIL_MINOR | Устанавливает порог по младшей версии. | 2 |
CV_SEARCH_PLUGINS | Включает поиск плагинов при установке true. | true |
CV_PROCESS_MODULES | Включает обработку модулей при установке true. | true |
CV_SHOW_SKIP | Логирует пропущенные зависимости при true. | true |
CV_SHOW_SEARCH | Логирует действия поиска при true. | true |
CV_EMPTY_VERSION | Разрешает пустые версии при true. | true |
CV_SHOW_INVALID | Логирует некорректные зависимости при true. | true |
CV_THREADING | Включает многопоточность при true. | true |
CV_MAX_THREADS | Максимальное число потоков при многопоточности. | 8 |
CV_USER | Пользователь для аутентификации в репозиториях. | my_username |
CV_PASSWORD | Пароль для аутентификации в репозиториях. | my_password |
Другие разделы формируются как CV_<SECTION>_<KEY>.
Пример использования
export CV_CACHE_TIME=1800
maven_check_versions --pom_file path/to/pom.xml