Repository navigation
feat(scaling): Proxmox VE provider - #579
Merged
Merged
Conversation
Units are linked (or full) clones of a VM template, tagged for Lens and started; once the guest agent answers, the first-boot script runs in the clone through it, so nothing lands on the server's storage. Letting a unit go stops the clone and deletes it with its disks. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ALjNbLobvPe7VwvDL8j7V3
…v0.15.0 released it The requirements check fails every pull request once a release's changelog names an In progress item. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ALjNbLobvPe7VwvDL8j7V3
…-azm2mb # Conflicts: # README.md
21 of 23 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Before: auto scaling could launch units on this machine, DigitalOcean and Hetzner Cloud, but not on a Proxmox server you own.
After: an admin can add a Proxmox VE provider (the API address, the node, and an API token). Each unit is a linked or full clone of a VM template, tagged for Lens and started. Once the clone's QEMU guest agent answers, Lens runs the first-boot script in it, which joins the mesh and starts
lens worker, and tags the clonelens-booted. Letting a unit go stops the clone and deletes it with its disks. These units cost nothing unless the admin gives the provider a price. Like the other machines elsewhere, launching waits for the mesh's install line.How:
domain/scaling_proxmox.pycalls the Proxmox API with httpx and an API token. Launching takes the next VM id and starts the clone. A background thread then waits for the clone task, tags and starts the clone, waits for the guest agent and runs the script. The script never touches the server's storage, and it stays only in Lens's memory until it runs. A boot that fails shows on the unit, and the scaler deletes a clone that never joins. For a private CA there areverify_tlsandca_cert.Motivation and Context
Adeel asked for auto scaling worker nodes on "Remote Proxmox", among others. This is the third piece, after #556 (core) and #573 (DigitalOcean and Hetzner). SSH hosts and the model hosts come next.
Types of changes
!in the title)Checklist:
make hookschecks it on commit).docs/accordingly.## UnreleasedinCHANGELOG.md. (n/a: the title and docs/scaling.md say it)Done questions (AGENTS.md)
proxmoxproviders.verify_tlsoff and the agent hand-off.docs/scaling.md, the README, requirements and the threat model are updated. OpenAPI is unchanged.docs/scaling.md.scaling_drivers.user_data.Local CI (
ci/local-ci.sh) passed every job on this change (33e983a, before the cherry-pick onto main): both backend jobs, Next.js, pre-commit, the title check and the upgrade check.Generated by Claude Code