# Scripts

## `staging-smoke.sh`

Post-deploy smoke helper для staging/production-like окружений.

```bash
./scripts/staging-smoke.sh https://crank.example.com
```

## `authenticated-staging-smoke.sh`

Browser-authenticated smoke helper.

Обязательные переменные:

- `CRANK_STAGING_ADMIN_EMAIL`
- `CRANK_STAGING_ADMIN_PASSWORD`

```bash
CRANK_STAGING_ADMIN_EMAIL=owner@example.com \
CRANK_STAGING_ADMIN_PASSWORD=secret \
./scripts/authenticated-staging-smoke.sh https://crank.example.com
```

## `staging-note-block.sh`

Генерирует markdown-блок для `docs/staging-regression-notes.md` после реального
staging pass.

```bash
./scripts/staging-note-block.sh crank.example.com abc1234 "operator" partial
```

## `load-openbao-env.sh`

Логинится в OpenBao через AppRole и выгружает deploy/runtime secrets в локальный
shell env file.

Обязательные переменные:

- `BAO_ADDR`
- `BAO_ROLE_ID`
- `BAO_SECRET_ID`
- `OPENBAO_APP`

Опционально:

- `OPENBAO_ENV_FILE`, default `.openbao-env`

Скрипт читает KV v2 secrets из mount `ci`:

- `shared/registry`
- `shared/deploy-ssh`
- `projects/${OPENBAO_APP}/deploy`
- `projects/${OPENBAO_APP}/runtime`

Также он создает workflow-compatible aliases:

- `REGISTRY_USERNAME -> DEPLOY_REGISTRY_USER`
- `REGISTRY_PASSWORD -> DEPLOY_REGISTRY_TOKEN`
