48df10b17e
- Harden DB-backed handlers and seed profiles; align client wire shapes for cluster resources, QEMU config, and node SSL fields - Serve plain HTTP on Compose :8006; keep TLS optional (--profile tls) and terminate HTTPS at Kubernetes Ingress - Add pulumi-tests (full contract surface majors 6–9 + BPG lifecycle) and make pulumi-tests - Ship bilingual docs, CHANGELOG, SECURITY, CONTRIBUTING, and GitHub Actions (make ci + Compose/Helm validation)
2.5 KiB
2.5 KiB
Language / Язык: English | Русский
Участие в разработке
Спасибо за помощь с лабораторным симулятором Proxmox VE API.
Требования
- Docker + Docker Compose
make- Локальный Python для повседневной работы не нужен (инструменты в Compose)
Локальный цикл
cp -n .env.example .env
make install
make up
make seed PROFILE=small
curl -sS http://localhost:8006/health/ready
Основной HTTPS-эндпоинт (как у реального PVE): http://localhost:8006/
(self-signed — curl -sk или принять предупреждение в браузере).
Quality gates (обязательны перед PR)
make ci # ruff format/check + mypy + offline pytest + surface probe
make ci-all # ещё integration + proxmoxer compatibility
make helm-lint # lint chart (+ ingress example values)
make pulumi-tests # Pulumi surface (majors 6–9) + pulumi-proxmoxve lifecycle
GitHub Actions на каждый push/PR в main запускает make ci и проверку
Compose/Helm. Перед крупными API/клиентскими изменениями локально прогоняйте
make ci-all, make helm-lint и make pulumi-tests.
Важные правила проекта
- Мутации должны persist в PostgreSQL (таблицы и/или jsonb metadata).
- Не добавляйте user-facing сообщения вроде «not supported in the simulator» —
см.
.cursor/rules/durable-simulator.mdc. - Сохраняйте формы запросов/ответов Proxmox из снимка контракта.
- При изменении операторского поведения синхронизируйте EN и RU docs.
Документация
- Индекс: docs/README.md · docs/ru/README.md
- Безопасность / модель угроз лаборатории: SECURITY.md
Релизы
Maintainers публикуют runtime-образ так:
docker login
make release # пушит inecs/proxmox-api-simulator:<version> (+ :latest)
После публичного релиза при необходимости вставьте overview из docs/docker-hub-overview.md в описание репозитория Docker Hub.