monogramm/proxmox-bundle

ProxmoxVE API integration in Symfony

1.0.0 2018-04-08 15:27 UTC

This package is auto-updated.

Last update: 2024-03-29 03:50:48 UTC


README

This bundle integrates ZzAntares Proxmox's unoffical PHP client in the Symfony framework.

Build Status Scrutinizer Code Quality Latest version

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.

Author(s)

Awesome Contributors