Automate Proxmox Subscriptions, Nodes, and Certificates with Ansible
():Managing Proxmox VE subscription licenses at scale is a long-standing pain point for administrators. In enterprise environments, manually assigning licenses across dozens or hundreds of nodes is slow, error-prone, and nearly impossible to audit properly. With the new proxmox_node Ansible module, Proxmox license and node management can now be automated end-to-end using the official API—bringing subscriptions, power control, and certificates into modern Infrastructure as Code workflows.
The proxmox_node Module
The proxmox_node module, now part of the community.proxmox Ansible collection, enables full lifecycle management of Proxmox VE nodes through the official API.
Key capabilities include:
- Bulk import and management of Proxmox subscription licenses
- Node power state control (start, shutdown, Wake-on-LAN)
- DNS configuration
- SSL / TLS certificate management
- Full support for Ansible
check_mode(dry runs)
This allows Proxmox node configuration, licensing, and maintenance tasks to become fully automated, repeatable, and version-controlled as Infrastructure as Code.
Examples
In this section, you can find more real-world examples how to use thise new module.
Add a Proxmox Subscription License
Assigning a subscription license to a Proxmox VE node is straightforward and fully API-driven:
- name: Place a subscription license on a Proxmox VE node
community.proxmox.node:
api_host: proxmoxhost
api_user: root@pam
api_password: password123
validate_certs: false
node_name: de-cgn01-virt01
subscription:
state: present
key: ABCD-EFGH-IJKL-MNOP-QRST-UVWX-YZ0123456789
With this task, you can execute an outer loop to easily assing subscriptions to multiple nodes.
Start a Proxmox VE Node
Nodes can also be powered on programmatically, for example after maintenance or a controlled shutdown:
- name: Start a Proxmox VE node
community.proxmox.node:
api_host: proxmoxhost
api_user: root@pam
api_password: password123
validate_certs: false
node_name: de-cgn01-virt01
power_state: online
Note: Wake-on-LAN must be configured and supported by the node hardware.
Update SSL Certificates
Custom X.509 certificates can now be deployed or updated directly via the Proxmox API:
- name: Update SSL certificates on a Proxmox VE node
community.proxmox.node:
api_host: proxmoxhost
api_user: root@pam
api_password: password123
validate_certs: false
node_name: de-cgn01-virt01
certificates:
key: /opt/ansible/key.pem
cert: /opt/ansible/cert.pem
state: present
force: false
Bulk updating Proxmox VE certificates without ACME protocol beocomes an easy process.
Conclusion
The proxmox_node module closes a critical gap in Proxmox automation by enabling supported, API-driven subscription and node management. It significantly reduces operational overhead, improves consistency across clusters, and integrates seamlessly into modern CI/CD and infrastructure pipelines.
By embracing open-source automation, organizations are no longer constrained by vendor-specific tooling or roadmaps. With modules like proxmox_node, migrating from proprietary virtualization platforms becomes easier, safer, and more transparent.
You may also want to explore related Ansible modules for Proxmox:
- proxmox_storage – manage storage backends such as iSCSI, NFS, and Ceph
- proxmox_node – handle subscriptions, power state, and certificates
- proxmox_cluster – automate cluster creation and joining
- Automated Proxmox installation images with cloud-init support