777926487b
initial QEMU slice, backed by imported contracts for majors 6–9. - Implement durable handlers for access/auth, cluster, LXC, storage, HA, firewall, Ceph, SDN, ACME, notifications, pools, mapping, and node ops - Serve an interactive Web UI with catalog browsing, demo seed controls, and OpenAPI/help surfaces - Bundle PVE 6.4-15, 7.4-16, and 8.4.5 contract revisions alongside 9.2.3 - Support in-memory runtime contract Apply (POST /ui/api/contract/apply) so /version and /api2 routes follow the selected major until restart - Expand seed profiles (including demo-cluster), migrations 007–008, TLS gateway config, Compose/Makefile tooling, and compatibility evidence - Tighten .gitignore for macOS, hidden directories (.*/), and local secrets
2.1 KiB
2.1 KiB
Clients
Use the simulator from common automation stacks. Each cookbook aims for the same laboratory flow where the tool allows it:
- Authenticate (ticket + CSRF or API token)
- Read
version/ nodes / QEMU list - Create a VM (accept UPID)
- Poll task status
- Start / stop
- Read status back
- Delete / cleanup
Connection matrix
| Stack | Transport | Notes | Docs | Code |
|---|---|---|---|---|
| Python (proxmoxer) | HTTPS :8007 |
Unmodified library; verify_ssl=False for local cert |
guide | examples/python |
| Python (requests) | HTTP :8006 |
Raw /api2/json |
guide | examples/python |
| Go | HTTP :8006 |
stdlib net/http |
guide | examples/go |
| Java | HTTP :8006 |
Java 11+ HttpClient |
guide | examples/java |
| Perl | HTTP :8006 |
HTTP::Tiny + JSON |
guide | examples/perl |
| Ansible | HTTP :8006 |
uri module cookbook |
guide | examples/ansible |
| Terraform | HTTPS :8007 |
Provider + insecure TLS for local gateway | guide | examples/terraform |
| Pulumi | HTTPS :8007 |
Python program against the API | guide | examples/pulumi |
Shared prerequisites: examples overview.
Credentials (seed)
| Use | Value |
|---|---|
| User | root@pam |
| Password | secret |
| Token | root@pam!automation=automation-secret |
Default node (small) |
pve01 |
API major
Pin the major before long runs:
- Cold start:
CONTRACT_SNAPSHOT - Runtime: Web UI apply or
POST /ui/api/contract/apply?major=N
Confirm with GET /api2/json/version. Coverage is 100% for declared methods
on majors 6–9.
Troubleshooting clients
See troubleshooting-clients and the global Troubleshooting guide.