Files
vmware-api-simulator/docs/ru/operations.md
T
inecs 131e2e63d2 Document 2026-07-18 lab test results across EN/RU guides.
Record offline 161 passed, green test-vsphere probes, and full pulumi-tests
7/7 with REST matrix 1987/1987 (critical=0); note the Terraform cookbook
binary mismatch separately.
2026-07-18 09:38:37 +03:00

7.0 KiB
Raw Blame History

Language / Язык: English | Русский

Эксплуатация

Команды day-2

make up                 # запуск стека
make down               # остановка стека
make restart
make logs
make dev                # foreground-workflow, ориентированный на reload
make db-migrate         # идемпотентные миграции
make seed               # атомарный reseed (SEED_VSPHERE_PROFILE=large по умолчанию)
make shell              # интерактивный контейнер с инструментами

Миграции

Упорядоченные SQL-файлы применяются транзакционно и записывают контрольные суммы SHA-256. Повторный запуск make db-migrate безопасен. Изменение уже применённой миграции отклоняется. /health/ready остаётся недоступным, пока не появится последняя упакованная миграция.

Reseed

make seed                        # large (по умолчанию)
VSPHERE_PROFILE=small make seed
VSPHERE_PROFILE=demo-cluster make seed

Reseed атомарно заменяет инвентарь в PostgreSQL. Состояние внешней автоматизации (файлы состояния Terraform, стеки Pulumi, инвентари Ansible, кодирующие MOID/имена ВМ) может после этого разойтись — обновите или пересоздайте эти внешние каналы. См. Профили seed.

Восстановление workers

CIS task workers используют аренды PostgreSQL (FOR UPDATE SKIP LOCKED). После сбоя или перезапуска просроченные аренды переиспользуются, и незавершённая работа безопасно возобновляется. Настраиваемые параметры: TASK_WORKER_CONCURRENCY, TASK_LEASE_SECONDS, SIMULATION_TIME_SCALE.

Изменение мажора каталога по умолчанию

  1. Мажор каталога по умолчанию — 9 (поверхность 8.0 U2 / Automation 9.1) при холодном старте; это не ограничивает таблицу маршрутов runtime (см. Версии API).
  2. Используйте «Apply as runtime» в Web UI или POST /ui/api/contract/apply?major=N, чтобы переключить мажор каталога локально для процесса, для целей просмотра/evidence.

Резервное копирование состояния лаборатории

PostgreSQL — это система записи (system of record). Используйте обычные backup/restore для Postgres (pg_dump / снимки томов), если нужно сохранить seeded-лабораторию. Контейнеры приложения одноразовые, пока сохраняется том базы данных.

Публикация в Docker Hub

make release собирает образ runtime (build target runtime, а не локальный bind-mounted образ dev) и публикует его в Docker Hub:

docker login   # один раз; учётная запись должна владеть или иметь права push в DOCKERHUB_USER
make release

Значения по умолчанию:

Переменная По умолчанию Значение
DOCKERHUB_USER inecs Namespace/организация Docker Hub
IMAGE_NAME vmware-api-simulator Имя репозитория
VERSION из pyproject.toml Тег образа
PUSH_LATEST 1 Также помечать/публиковать :latest

Примеры:

make release
make release VERSION=0.2.0
make release DOCKERHUB_USER=myorg PUSH_LATEST=0
make release-build   # локальная сборка/тегирование без публикации

Опубликованные теги:

  • inecs/vmware-api-simulator:<version>
  • inecs/vmware-api-simulator:latest (если не задано PUSH_LATEST=0)

Быстрый старт с опубликованным compose-файлом

docker-compose.release.yml скачивает runtime-образ из Hub и запускает PostgreSQL + migrate + симулятор + HTTPS gateway:

docker compose -f docker-compose.release.yml up -d
docker compose -f docker-compose.release.yml run --rm --entrypoint python \
  simulator -m app.simulation.seed_cli

curl -sk https://localhost/health/ready
open https://localhost/

Вспомогательные команды из git checkout:

make release-up
make release-seed PROFILE=small
make release-down

Полезные переопределения:

Переменная По умолчанию Значение
DOCKER_IMAGE inecs/vmware-api-simulator Репозиторий образа
IMAGE_TAG latest Тег для скачивания
HTTP_PORT 80 Порт хоста для HTTP
HTTPS_PORT 443 Порт хоста для HTTPS
POSTGRES_PORT 127.0.0.1:5434 Bind хоста для Postgres
TICKET_SIGNING_KEY лабораторное значение по умолчанию Меняйте вне игрушечных лабораторий
POSTGRES_PASSWORD vmware Пароль БД

Для Kubernetes с публичным TLS (cert-manager / Let's Encrypt) используйте Helm-чарт — см. Kubernetes / Helm.

Обновления

  1. Скачайте / пересоберите образы (make install / make docker-build по ситуации).
  2. Выполните миграции (make db-migrate).
  3. Убедитесь, что /health/ready отвечает нормально.
  4. Перепроверьте /ui/api/compatibility?major=9 и /api/appliance/system/version.
  5. При необходимости заново запустите make test-vsphere / make vsphere-matrix / make pulumi-tests, если проверяете поверхность после обновления. Последние зафиксированные lab-цифры: Совместимость — Последний lab-прогон.

Сброс лаборатории

make seed PROFILE=small
# или через UI: unload demo → small, затем снова seed

Для жёсткого сброса базы данных используйте make db-reset (деструктивно — см. справку Makefile).