https://github.com/monogramm/monogrammproxmoxbundle
:elephant: :alembic: ProxmoxVE API integration in Symfony
https://github.com/monogramm/monogrammproxmoxbundle
api php proxmox symfony symfony-bundle
Last synced: 4 months ago
JSON representation
:elephant: :alembic: ProxmoxVE API integration in Symfony
- Host: GitHub
- URL: https://github.com/monogramm/monogrammproxmoxbundle
- Owner: Monogramm
- License: agpl-3.0
- Created: 2018-04-08T11:39:35.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-02-14T19:31:54.000Z (over 7 years ago)
- Last Synced: 2025-11-27T15:30:16.613Z (7 months ago)
- Topics: api, php, proxmox, symfony, symfony-bundle
- Language: PHP
- Homepage:
- Size: 29.3 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# MonogrammProxmoxBundle: Proxmox VE API integration in Symfony
This bundle integrates [ZzAntares Proxmox's unoffical PHP client](https://github.com/ZzAntares/ProxmoxVE) in [the Symfony framework](http://symfony.com).
[](https://travis-ci.org/Monogramm/MonogrammProxmoxBundle)
[](https://scrutinizer-ci.com/g/Monogramm/MonogrammProxmoxBundle/?branch=master)
[](https://packagist.org/packages/monogramm/proxmox-bundle)
## Installation
Use [Composer](http://getcomposer.org) to install the bundle:
`composer require monogramm/proxmox-bundle`
Then, update your `app/config/AppKernel.php` file:
```php
public function registerBundles()
{
$bundles = array(
// ...
new Monogramm\ProxmoxBundle\MonogrammProxmoxBundle(),
// ...
);
return $bundles;
}
```
Configure the bundle in `app/config/config.yml`:
```yaml
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:
```yaml
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:
```php
// ...
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](CONTRIBUTING.md) file.
License
-------
See [LICENSE](LICENSE) file.
Author(s)
------------
* [Monogramm](https://github.com/Monogramm)
Awesome Contributors
------------
* [GothShoot](https://github.com/GothShoot)