Skip to content

Описание

vampy-cli — это утилита командной строки для взаимодействия с сервером Vampy. Она предоставляет возможность управления репозиториями, продуктами, процессами сканирования и другими функциями через простые команды.

vampy-cli легко использовать в конвейерах CI/CD для запуска сканирования и прерывания релизов, если сканирование не удалось или результаты сканирования не соответствуют указанным критериям релиза.

Использование

./vampy-cli [глобальные параметры] команда [параметры команды]

Доступные команды

  • upload Загружает существующие результаты сканирования на сервер. Для инкрементальных сканов в CI — флаг --skip-auto-resolve (подробнее); в API POST /api/ext/v1/scan_uploads/ — поле skipAutoResolve.
  • scan Запускает процесс сканирования для указанного репозитория и сканера.
  • sqg Показывает QualityGate для выбранного продукта или репозитория.
  • bg-task Проверяет статус фоновой задачи и выводит подробности.
  • list Получает информацию о различных ресурсах системы. Подкоманды:
    • products — список продуктов
    • repos — список репозиториев
    • scanners — список сканеров
    • scan-profiles — список профилей сканирования
    • sqg — список quality gates
    • pipelines — список скан-пайплайнов (--repository или --product; --branch — с репозиторием)
  • pipeline Управление скан-пайплайнами (подробнее). Подкоманды:
    • create — создать пайплайн (статус PENDING)
    • list — список пайплайнов с фильтрами (аналогично list pipelines)
    • status — статус пайплайна; опрос до завершения — --check-pipeline
    • finish — сигнал завершения: внешние задачи выполнены, пайплайн может закрыться
  • service Сервисные команды (подробнее):
    • sync-artifact — синхронизировать версии артефакта из registry-интеграций
    • sync-repo — синхронизировать ветки репозитория из VCS-интеграций
  • help, h Показывает список доступных команд или справку по одной из команд.

Глобальные параметры

Общие параметры

Параметр Описание Значение по умолчанию
--help, -h Показывает справку.
--details Показывает детализированный вывод для запрошенного действия (например, таблицу с результатами QualityGate). false
--verbose Показывает дополнительный вывод (например, выполнение каждого шага действия). false
--version, -v Выводит только версию программы. false

Параметры подключения

Параметр Описание Значение по умолчанию
--api-token value API-токен Vampy (или из переменной окружения). значение из $VAMPY_API_TOKEN
--api-version value Версия API Vampy. v1
--ignore-ssl-check Пропустить проверку SSL-сертификата при подключении к серверу Vampy. false
--timeout value Таймаут в секундах (также переменная VAMPY_API_TIMEOUT). 120
--vampy-url value URL-адрес сервера Vampy (или из переменной окружения). значение из $VAMPY_URL

Аргументы командной строки имеют приоритет над переменными окружения. Например, если заданы и VAMPY_URL, и флаг --vampy-url, будет использовано значение флага.

Коды выхода

Используются в CI/CD для прерывания пайплайна при ошибках.

Код Когда
0 Успех; QG passed/skipped; BG success; неошибочный статус пайплайна
1 Фоновая задача FAILED (bg-task, scan/upload с --check-task / --check-full)
2 Quality Gate FAILED или ERROR (sqg, scan/upload с --check-qg / --check-full)
3 Неизвестный статус QG или неожиданное финальное состояние BG
4 Таймаут ожидания QG или BG (в пределах --timeout)
11 Ошибка валидации CLI (неверная комбинация флагов, не хватает обязательных опций)
12 Ошибка API / HTTP от Vampy
20 Статус пайплайна ERROR (pipeline status или ожидание в upload / scan)
22 Таймаут опроса пайплайна до aggregationCompleted и терминального статуса

Для pipeline status коды 0SUCCESS, PARTIAL_SUCCESS, PENDING, IN_PROGRESS; 20ERROR. Подробнее: Управление пайплайнами сканирования.

Конфигурация

Для использования vampy-cli необходимо определить два обязательных параметра подключения:

Параметр Описание Значение по умолчанию
--api-token value API-токен Vampy (или из переменной VAMPY_API_TOKEN). API Token from env 'VAMPY_API_TOKEN'
--vampy-url value URL сервера Vampy (или из переменной VAMPY_URL). URL from env 'VAMPY_URL'

Вы можете определить их несколькими способами:

Переменные окружения

export VAMPY_API_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InJlc3QtYXBpLXNlYy1lbmdpbmVlciIsImlhdCI6MTcyNTQzMjc5MS4wNjI5NX0.YMCIToiWf0wJwGG8O37-i7I1p47TCFQZyM2ZzxHWcxk
export VAMPY_URL=https://vampy.hexway.io

# получим список репозиториев
vampy-cli list repos

Параметры командной строки

# получим список репозиториев
vampy-cli --vampy-url https://vampy.hexway.io  --api-token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InZtcC1jbGkiLCJpYXQiOjE3MzM5MzI2MDYuNjk1Mjk4fQ.TNWsDdhpct6PhZ0jTBZ7QTQyFuMzLN2oBr99e3uhRkA list repos

Параметры CLI имеют более высокий приоритет, чем переменные окружения.

Переменные окружения

Переменная Назначение
VAMPY_API_TOKEN API-токен для подключения к серверу Vampy
VAMPY_URL URL сервера Vampy
VAMPY_API_VERSION Версия API Vampy
VAMPY_API_TIMEOUT Тайм-аут HTTP-запросов и опроса в секундах
VAMPY_IGNORE_SSL_CHECK Пропустить проверку SSL-сертификата
VAMPY_TEMP_DIR Каталог временных архивов репозитория и Docker image (команда scan)
DOCKER_HOST Endpoint Docker daemon для --docker-image (например unix:///var/run/docker.sock)