Prepare 0.1.0 for lab release: durable handlers, HTTP Compose, CI, and pulumi-tests.
- 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)
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
**Language / Язык:** [English](README.md) | [Русский](README.ru.md)
|
||||
|
||||
# Интеграционный набор 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
|
||||
```
|
||||
|
||||
## Запуск
|
||||
|
||||
Из корня репозитория:
|
||||
|
||||
```bash
|
||||
make pulumi-tests
|
||||
```
|
||||
|
||||
Или:
|
||||
|
||||
```bash
|
||||
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).
|
||||
Reference in New Issue
Block a user