[GH-ISSUE #79] Support for latest Proxmox API #14

Open
opened 2026-02-28 00:40:11 +03:00 by kerem · 7 comments
Owner

Originally created by @romantomjak on GitHub (Jul 1, 2020).
Original GitHub issue: https://github.com/Telmate/proxmox-api-go/issues/79

Hey, I'd like to help to add the vast majority of options available through the Proxmox API. I do have some concerns about client compatibility as I am certain not all options are supported by all versions of Proxmox's API, but unfortunately I have no experience building clients that support multiple versions of APIs.

Couple of questions to get the ball rolling:

  • What would be the best approach to get started on this?
  • What API versions does this client supports?
  • How can the latest version be supported?

Thanks!

Originally created by @romantomjak on GitHub (Jul 1, 2020). Original GitHub issue: https://github.com/Telmate/proxmox-api-go/issues/79 Hey, I'd like to help to add the vast majority of options available through the Proxmox API. I do have some concerns about client compatibility as I am certain not all options are supported by all versions of Proxmox's API, but unfortunately I have no experience building clients that support multiple versions of APIs. Couple of questions to get the ball rolling: - What would be the best approach to get started on this? - What API versions does this client supports? - How can the latest version be supported? Thanks!
Author
Owner

@romantomjak commented on GitHub (Jul 6, 2020):

Hey @V-Paranoiaque, @carlpett and @aabouzaid from the looks of it you are the top contributors of this repository. Thought I'll ping you guys to get the ball rolling.

<!-- gh-comment-id:654187233 --> @romantomjak commented on GitHub (Jul 6, 2020): Hey @V-Paranoiaque, @carlpett and @aabouzaid from the looks of it you are the top contributors of this repository. Thought I'll ping you guys to get the ball rolling.
Author
Owner

@aabouzaid commented on GitHub (Jul 6, 2020):

Hi @romantomjak I don't use Proxmox anymore and unfortunately cannot help with that.
I hope you all the best, it looks a very useful contribution 🚀

<!-- gh-comment-id:654265095 --> @aabouzaid commented on GitHub (Jul 6, 2020): Hi @romantomjak I don't use Proxmox anymore and unfortunately cannot help with that. I hope you all the best, it looks a very useful contribution :rocket:
Author
Owner

@romantomjak commented on GitHub (Jul 9, 2020):

Thank you @aabouzaid. Hopefully I'll hear some good news from others :)

<!-- gh-comment-id:656194131 --> @romantomjak commented on GitHub (Jul 9, 2020): Thank you @aabouzaid. Hopefully I'll hear some good news from others :)
Author
Owner

@carlpett commented on GitHub (Jul 11, 2020):

Hey @romantomjak,
I'm not actually a maintainer on the repo, I just submitted some patches that I needed. I think you want @ggongaware :)
But while I'm here, some thoughts on your general questions:

  • You can use /api2/json/version to get the Proxmox version. However, you'll end up having to maintain a large mapping of what functions/parameters are supported for each version, and I do not believe there's great documentation of this. So quite a lot of work.
  • I believe (and here @ggongaware probably knows better) that the client currently aims to support more or less the latest version, modulo what someone is actually using and thus have written support for.
  • As for where to begin, I'd suggest starting with setting some aims. Maybe making error handling robuster (to deal with unknown parameters/functions) so it is somewhat clear when something isn't supported by Proxmox would be the best spent time rather than trying to solve the general problem of version compatibility?
<!-- gh-comment-id:657111516 --> @carlpett commented on GitHub (Jul 11, 2020): Hey @romantomjak, I'm not actually a maintainer on the repo, I just submitted some patches that I needed. I think you want @ggongaware :) But while I'm here, some thoughts on your general questions: - You can use /api2/json/version to get the Proxmox version. However, you'll end up having to maintain a large mapping of what functions/parameters are supported for each version, and I do not believe there's great documentation of this. So quite a lot of work. - I believe (and here @ggongaware probably knows better) that the client currently aims to support more or less the latest version, modulo what someone is actually using and thus have written support for. - As for where to begin, I'd suggest starting with setting some aims. Maybe making error handling robuster (to deal with unknown parameters/functions) so it is somewhat clear when something isn't supported by Proxmox would be the best spent time rather than trying to solve the general problem of version compatibility?
Author
Owner

@romantomjak commented on GitHub (Jul 15, 2020):

Thank you @carlpett, that actually makes a lot of sense! I think the last point ties in nicely with test coverage as well which I think is a must!

So maybe I could first start with adding some test coverage and making things more robust along the way?

<!-- gh-comment-id:658947064 --> @romantomjak commented on GitHub (Jul 15, 2020): Thank you @carlpett, that actually makes a lot of sense! I think the last point ties in nicely with test coverage as well which I think is a must! So maybe I could first start with adding some test coverage and making things more robust along the way?
Author
Owner

@carlpett commented on GitHub (Jul 18, 2020):

Sounds like a reasonable start!
Although it'll require some setup work, I'd personally suggest aiming for more integration-style tests over than unit tests that mock out Proxmox. Maybe a Vagrant box per Proxmox version, or something similar. The tests will defintely take longer to run, but the confidence will be much higher.

<!-- gh-comment-id:660443479 --> @carlpett commented on GitHub (Jul 18, 2020): Sounds like a reasonable start! Although it'll require some setup work, I'd personally suggest aiming for more integration-style tests over than unit tests that mock out Proxmox. Maybe a Vagrant box per Proxmox version, or something similar. The tests will defintely take longer to run, but the confidence will be much higher.
Author
Owner

@romantomjak commented on GitHub (Jul 20, 2020):

That is a brilliant idea! I'll look into how to setup a proxmox vagrant box as I'm not entirely sure how proxmox virtualization will work inside a VM. Thanks for being so responsive @carlpett ❤️

<!-- gh-comment-id:661178857 --> @romantomjak commented on GitHub (Jul 20, 2020): That is a brilliant idea! I'll look into how to setup a proxmox vagrant box as I'm not entirely sure how proxmox virtualization will work inside a VM. Thanks for being so responsive @carlpett ❤️
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/proxmox-api-go#14
No description provided.