Files
ovirt-api-simulator/docs/ru/configuration.md
T
inecs cbd0adca91 Initial release of the oVirt/RHV Engine API simulator.
Stateful FastAPI lab with contract packs, Compose/Helm, Docker Hub release
targets, and Pulumi coverage across all Engine series (GET/POST/PUT/DELETE/HEAD).
2026-07-18 04:49:28 +03:00

88 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**Language / Язык:** [English](../configuration.md) | [Русский](configuration.md)
# Конфигурация
Настройки приложения загружаются из окружения (см. `.env.example`).
Docker Compose подставляет многие из них для сервиса `simulator`.
## Основные
| Переменная | По умолчанию / пример | Назначение |
|---|---|---|
| `APP_HOST` | `0.0.0.0` | Адрес привязки |
| `APP_PORT` | `8080` | Внутренний порт FastAPI (не публичный Engine) |
| `DATABASE_URL` | `postgresql://ovirt:ovirt@postgres:5432/ovirt_simulator` | DSN asyncpg |
| `TEST_DATABASE_URL` | как выше | DSN для интеграционных тестов |
| `DB_POOL_MIN_SIZE` | `1` | Минимум пула |
| `DB_POOL_MAX_SIZE` | `10` | Максимум пула |
| `LOG_LEVEL` | `INFO` | Уровень логирования |
| `REQUEST_ID_HEADER` | `X-Request-ID` | Заголовок корреляции запросов |
## Series Engine и seed
| Переменная | По умолчанию | Назначение |
|---|---|---|
| `OVIRT_SERIES` | `4.5` | Контрактный pack при cold start (`3.0``3.6`, `4.3``4.5`, `master`) |
| `SEED_PROFILE` | `minimal` | Для seed CLI / Helm seed Job (`minimal` / `demo`) |
## Безопасность и задачи
| Переменная | Назначение |
|---|---|
| `TICKET_SIGNING_KEY` | Материал подписи лабораторных токенов (**меняйте вне игрушечных стендов**) |
| `TASK_WORKER_CONCURRENCY` | Число воркеров с арендой (1–32) |
| `TASK_LEASE_SECONDS` | Длительность аренды задач в PostgreSQL |
| `SIMULATION_TIME_SCALE` | Ускоряет длительность симулируемых jobs |
## Публикация портов на хост
| Переменная | По умолчанию | Назначение |
|---|---|---|
| `OVIRT_ENGINE_PORT` | `443` | Host → gateway `:443` (Engine HTTPS) |
| `OVIRT_UI_PORT` | `5000` | Host → gateway `:5000` (Web UI) |
См. [Порты](ports.md).
## Compose
| Файл | Роль |
|---|---|
| `docker-compose.yml` | Dev-стек (сборка + bind mounts) |
| `docker-compose.release.yml` | Опубликованный образ Hub |
| `.env` / `.env.example` | Локальные переопределения |
Сервисы:
- **simulator** — FastAPI на внутреннем `8080`
- **api-gateway** — nginx, публикующий Engine + UI ([ports.md](ports.md))
- **postgres** — `postgres:17.5-bookworm` (host-порт по умолчанию не публикуется)
- **migrate** — one-shot миграции схемы
## Helm
См. [Kubernetes / Helm](kubernetes.md) и
[`helm/ovirt-api-simulator/values.yaml`](../../helm/ovirt-api-simulator/values.yaml).
| Value | Назначение |
|---|---|
| `image.repository` / `image.tag` | Образ контейнера |
| `config.ovirtSeries` | Pack series → env `OVIRT_SERIES` |
| `seed.profile` | `minimal` / `demo` |
| `postgresql.enabled` | Встроенная БД |
| `databaseUrl` | Внешний DSN, если встроенный Postgres выключен |
| `secrets.ticketSigningKey` | Нужно ротировать на общих кластерах |
| `service.port` | Порт ClusterIP (по умолчанию `8080`) |
`gateway.*` / `ingress.*` в `values.yaml` зарезервированы; чарт сейчас отдаёт
FastAPI напрямую (без nginx gateway как в Compose).
## Контрактные packs
Расположение: `contracts/ovirt/<series>/`.
В каждом series: `api.json`, `manifest.json` и `deltas.json`. Перегенерация:
```bash
make generate-packs
```