Architecture technique
Intégration Proxmox

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 un ticket + un CSRFPreventionToken.
  • 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)

WrapperAction Proxmox équivalente
clusterResources()GET /cluster/resources?type=vm
cloneTemplate(opts)POST /nodes/:node/qemu/:vmid/clone
start / stop / resetPOST /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é)

  1. Choix du nœud Proxmox en fonction de la capacité résiduelle (CPU/RAM/disque libres).
  2. Clone du template OS choisi (full clone).
  3. Resize disque + ajustement vCPU / RAM aux specs du plan.
  4. Branchement réseau sur le bridge public + attribution d'une IP du pool.
  5. cloud-init : injection de la clé SSH + mot de passe root pour la console série.
  6. 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.