Add Proxmox Virtual Environment support#790
Conversation
- Add comprehensive multi-session workspace management section to AGENTS.md - Document automatic worktree creation workflow for concurrent sessions - Include session initialization with unique timestamp-based naming - Add automatic cleanup workflow after PR merge - Document worktree management commands and troubleshooting - Support up to 10 concurrent isolated OpenCode sessions - Update session workflow to integrate worktree creation - Migrate main repository to ~/workspace/onctl for consistency
- Merged latest changes from main branch - Made TLS verification configurable via proxmox.insecure setting - Default to secure TLS (verify certificates) - Added error handling in provider initialization - Added insecure option to proxmox.yaml config template
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a8bc9fcc50
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #790 +/- ##
==========================================
- Coverage 11.54% 11.49% -0.06%
==========================================
Files 36 38 +2
Lines 3093 3298 +205
==========================================
+ Hits 357 379 +22
- Misses 2693 2874 +181
- Partials 43 45 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Replace p.Client.CloneQemuVm with sourceVmr.CloneQemu (new VmRef API) - Replace p.Client.StopVm with vmRef.Stop (new VmRef API) - Replace p.Client.DeleteVm with vmRef.Delete (new VmRef API) - Replace MD5 with SHA-256 for SSH key fingerprinting - Add bounds check on VM ID integer conversion (ParseUint instead of Atoi) - Make InsecureSkipVerify configurable via PROXMOX_INSECURE_SKIP_VERIFY env var
…ove codecov patch coverage
- Deploy now returns an error when the configured VM ID is already used by a VM not tagged "onctl", preventing silent mis-targeting against unrelated VMs (P1 from chatgpt-codex-connector review). - CloudInitFile is no longer silently dropped: if the value is a Proxmox storage reference (contains ':') it is applied via cicustom; otherwise a WARN is logged explaining the requirement (P2 from review). https://claude.ai/code/session_01FPHTUPy7qP4f7DWrqqfQG4
When destroying by name, GetByName discovers the real cluster node but Destroy discarded it. Under VM migration or config drift this caused stop/delete calls to be routed to the wrong node. Now Location is propagated from the discovery result and used as the node, falling back to the configured proxmox.node only when not set. https://claude.ai/code/session_01XpHpg49zt1mTcJ897tVb9N
Summary
This PR adds Proxmox Virtual Environment as a new cloud provider to onctl, enabling users to manage VMs on self-hosted Proxmox infrastructure.
Changes
proxmox.insecuresetting)Key Features
Configuration
Environment Variables
PROXMOX_API_URL- Proxmox API endpointPROXMOX_TOKEN_ID- API token IDPROXMOX_SECRET- API token secretONCTL_CLOUD=proxmoxTesting
Related Issues
Closes #715 (supersedes original PR)