monogramm / proxmox-bundle
ProxmoxVE API integration in Symfony
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.5
- symfony/config: ~2.3|~3.0
- symfony/dependency-injection: ~2.3|~3.0
- symfony/http-kernel: ~2.3|~3.0
- zzantares/proxmoxve: dev-guzzle6
Requires (Dev)
- leanphp/phpspec-code-coverage: ~2.1
- phpspec/phpspec: ~2.1
- squizlabs/php_codesniffer: ~3.0
This package is auto-updated.
Last update: 2024-10-29 05:10:45 UTC
README
This bundle integrates ZzAntares Proxmox's unoffical PHP client in the Symfony framework.
Installation
Use Composer to install the bundle:
composer require monogramm/proxmox-bundle
Then, update your app/config/AppKernel.php
file:
public function registerBundles() { $bundles = array( // ... new Monogramm\ProxmoxBundle\MonogrammProxmoxBundle(), // ... ); return $bundles; }
Configure the bundle in app/config/config.yml
:
monogramm_proxmox: hostname: "%proxmox_hostname%" username: "%proxmox_username%" password: "%proxmox_password%" realm: "%proxmox_realm%" port: "%proxmox_port%"
Finally, update your app/config/parameters.yml
file to store your Proxmox VE API credentials:
parameters: # ... proxmox_hostname: "proxmox.company.com" proxmox_username: "root" proxmox_password: "mysupersecretpassword" proxmox_realm: "pam" proxmox_port: "8006"
Usage
The bundle automatically registers a proxmox
service in the Dependency Injection Container. That service is an instance of \ProxmoxVE\Proxmox
.
Example usage in a controller:
// ... public function nodesAction() { // Get all nodes $this ->get('proxmox') ->getNodes() ; // ... } public function createVmAction($targetnode, $id) { // Create an lxc container $this ->get('proxmox') ->create( "/nodes/$targetnode/lxc", [ 'net0' => 'name=myct0,bridge=vmbr0', 'ostemplate' => 'local:vztmpl/debian-8.0-standard_8.0-1_amd64.tar.gz', 'vmid' => "$id", ] ) ; // ... } // ...
Contributing
See CONTRIBUTING file.
License
See LICENSE file.