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

Реальные секреты храните только в локальном .env или в masked GitLab CI/CD variables. .env.example должен оставаться без секретных значений.

Переменная

Для чего нужна

TEST_STAND

Имя стенда из стандартных настроек. В примере по умолчанию qa.

STAND_HOST

Адрес стенда. По умолчанию берётся адрес для TEST_STAND.

REST_TIMEOUT

Таймаут REST-запроса: по умолчанию 30 секунд.

STAND_AUTH_ENABLED

Включает Bearer-авторизацию REST-запросов; по умолчанию true.

STAND_AUTH_TOKEN

Bearer-токен для REST-запросов.

STAND_API_KEYS

Ключи для развёртывания стенда; также служат резервным значением STAND_AUTH_TOKEN.

STAND_AUTH_DISABLED_PORTS

Список портов или их имён (mcc, iitca, iitaca) через запятую без Authorization.

STAND_USER

SSH-пользователь; по умолчанию testqauser.

STAND_PASSWORD

SSH-пароль для сброса стенда, чтения ledger и управления сервисами Vitrina.

STAND_RESET_TIMEOUT

Таймаут сброса стенда: по умолчанию 1800 секунд.

REGISTRY_RETRY_ATTEMPTS

Количество попыток чтения реестров: по умолчанию 3.

REGISTRY_RETRY_DELAY_SECONDS

Пауза между попытками чтения реестров: по умолчанию 1 секунда.

REGISTRY_ASSET_TYPES

Типы активов для настройки реестров через запятую. Разрешены уникальные 1,2,3,4.

REGISTRY_SERVICE_CC_VERSION

Необязательная явная версия chaincode. Без неё часть registry-сценариев определяет версию по SSH.

VITRINA_API_KEY

Токен Vitrina Stub, если у неё включена авторизация.

VITRINA_DELIVERY_TIMEOUT_SECONDS

Таймаут ожидания доставки событий Vitrina: 60 секунд.

VITRINA_POLL_INTERVAL_SECONDS

Интервал опроса Vitrina: 1 секунда.

VITRINA_NEGATIVE_OBSERVATION_SECONDS

Окно наблюдения в негативных проверках Vitrina: 3 секунды.

VITRINA_MAX_MUTATION_SECONDS

Лимит времени изменения состояния Vitrina: 10 секунд.

ALLURE_FAILURES_ONLY

true включает компактный отчёт Allure. По умолчанию пишется полный Allure.

UNQUALIFIED_ROOT_CERTIFICATE_FILE

Путь к корневому сертификату PEM/DER для сценариев неквалифицированных сертификатов.

UNQUALIFIED_ROOT_PRIVATE_KEY_FILE

Путь к соответствующему незашифрованному тестовому RSA-ключу PEM.

Для полного прогона в GitLab обычно нужны:

  • STAND_AUTH_TOKEN или STAND_API_KEYS для REST-авторизации;

  • STAND_PASSWORD для сброса стенда и чтения ledger;

  • STAND_USER, если пользователь отличается от значения по умолчанию;

  • VITRINA_API_KEY при включённой авторизации Vitrina; её таймауты можно оставить по умолчанию;

  • при необходимости — переопределения STAND_HOST, REST_TIMEOUT, REGISTRY_SERVICE_CC_VERSION;

  • UNQUALIFIED_ROOT_CERTIFICATE_FILE и UNQUALIFIED_ROOT_PRIVATE_KEY_FILE только если прогоняются unqualified-сценарии с заранее подготовленным корнем.

Переменные проекта задаются в Settings → CI/CD → Variables. Не создавайте .env в рабочем каталоге runner: он перекроет эти переменные. Если ключи REST и развёртывания различаются, задайте и STAND_AUTH_TOKEN, и STAND_API_KEYS. Masked/protected variables доступны только там, где это разрешено настройками GitLab. Если переменная помечена protected, она не попадёт в pipeline на незащищённой ветке.

UNQUALIFIED_ROOT_CERTIFICATE_FILE и UNQUALIFIED_ROOT_PRIVATE_KEY_FILE читаются как файловые пути с поддержкой ~. Относительные пути считаются от директории, где стартовал pytest. В GitLab обычный локальный путь разработчика на runner не существует: используйте GitLab File variables или заранее положите файлы на runner и передайте пути к файлам на runner. Для настроенного хранилища доверенных корней стенда файлы должны соответствовать уже доверенному корню; автогенерация тестового корня разрешена только при подтверждённо пустом TRUSTED_ROOTS_PATH стенда, как описано в .env.example.