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.0 KiB
2.0 KiB
Language / Язык: English | Русский
Интеграционный набор Pulumi
Suite только в Docker против симулятора Proxmox API.
| Слой | Покрытие |
|---|---|
| Surface | 100% объявленных методов контракта majors 6–9 (каждый path+verb) по HTTP (pvelib/surface.py). PASS только при declared == probed на каждый major и нуле критичных сбоев (501, «not supported», 5xx, exceptions, неизвестные verb). |
| Lifecycle | Только pulumi-proxmoxve (мост BPG) — Provider, data sources инвентаря, VmLegacy + проверки непустых outputs. Это не полное покрытие API: в провайдере десятки ресурсов, не тысячи contract methods. HTTPS через lab TLS-шлюз; surface — HTTP. |
В отчётах (pulumi/reports/report.html, results.json, junit.xml) — блок Full contract coverage с итогами declared/probed по major и суммой (например Coverage: 2324/2324 methods across majors 6–9).
Структура
pulumi-tests/
pulumi/
run_suite.py
report.py
pvelib/ # httpx + surface probe
programs/lifecycle/ # программа pulumi-proxmoxve
docker/docker-compose.yml
Makefile
Запуск
Из корня репозитория:
make pulumi-tests
Или:
cd pulumi-tests
make up
make test-smoke
make test
open pulumi/reports/report.html
make down
Env провайдера (Compose): PROXMOX_VE_ENDPOINT=https://tls-gateway:8443/
(внутренний TLS suite — pulumi-proxmoxve не принимает http://), плюс
username/password/INSECURE. Surface probe: API_URL=http://simulator:8006.
Хостовый lab URL — plain http://localhost:8006/ (HTTPS в K8s — только Ingress).