Intégration Proxmox
Les VPS sont des VM KVM orchestrées par Proxmox VE. Toutes les opérations passent par un wrapper interne (ProxmoxService) qui parle directement à l'API Proxmox.
Authentification
POST /access/ticket→ récupère unticket+ unCSRFPreventionToken.- Re-login automatique avant l'expiration (le ticket vit 2 h).
- Les identifiants sont stockés chiffrés (AES-256-GCM).
Méthodes principales (wrapper interne)
| Wrapper | Action Proxmox équivalente |
|---|---|
clusterResources() | GET /cluster/resources?type=vm |
cloneTemplate(opts) | POST /nodes/:node/qemu/:vmid/clone |
start / stop / reset | POST /nodes/:node/qemu/:vmid/status/<start|stop|reset> |
snapshot(vmid, name) | POST /nodes/:node/qemu/:vmid/snapshot |
guestExec(vmid, cmd) | POST /nodes/:node/qemu/:vmid/agent/exec |
serialProxy(vmid) | proxy WebSocket vers le tty série du VPS |
Provisioning VPS (résumé)
- Choix du nœud Proxmox en fonction de la capacité résiduelle (CPU/RAM/disque libres).
- Clone du template OS choisi (full clone).
- Resize disque + ajustement vCPU / RAM aux specs du plan.
- Branchement réseau sur le bridge public + attribution d'une IP du pool.
- cloud-init : injection de la clé SSH + mot de passe root pour la console série.
- Démarrage + création de l'enregistrement VPS côté base.
Console série
Le panel ouvre un WebSocket vers la console série Proxmox, qui est relayé par le backend (console-proxy) au terminal xterm.js dans le navigateur. Pas de VNC : ça reste léger, ça marche partout, et c'est l'outil de secours quand SSH ne répond plus.
Fin de vie
À expiration ou résiliation : arrêt → snapshot final court (filet de sécurité) → destruction du disque + libération de l'IP.