proxmox/README.md

98 lines
3.8 KiB
Markdown
Raw Normal View History

2015-01-06 08:55:34 +01:00
# proxmox
## Overview
The proxmox module provide a simple way to manage Proxmox hypervisor and (soon) it's virtual machines (KVM/OpenVZ) with Puppet.
2015-01-06 08:55:34 +01:00
## Module Description
The proxmox module automates installing Proxmox on Debian systems.
2015-01-06 08:55:34 +01:00
## Setup
### What proxmox affects:
2015-01-06 08:55:34 +01:00
* Package/service/configuration files for Proxmox
* A new `sources.list` file for Proxmox
* System repository
* The static table lookup for hostnames `hosts`
* Users and group permissions for WebGUI.
* WebGUI's service (pveproxy)
2015-01-06 08:55:34 +01:00
### Beginning with proxmox
2015-01-06 08:55:34 +01:00
To begin using proxmox module with default parameters, declare the hypervisor's class with `include proxmox::hypervisor`.
2015-01-06 08:55:34 +01:00
## Usage
2015-01-06 08:55:34 +01:00
### Hypervisor
2015-01-06 08:55:34 +01:00
```
include proxmox::hypervisor
```
2015-01-06 08:55:34 +01:00
If you will use only KVM you can have a most recent kernel with:
```
class { 'proxmox::hypervisor':
kvm_only => true,
}
```
**Note**: The module will automatically reboot the system on the PVE Kernel. You will need to start again the puppet agent.
### VM
...
2015-01-06 08:55:34 +01:00
## Reference
### Classes
* `proxmox`: Main class, do nothing right now.
* `proxmox::hypervisor`: Install the Proxmox hypervisor on the system.
### Defined types
* `proxmox::hypervisor::group`: Manage groups for Proxmox WebGUI and set permissions.
`proxmox::hypervisor::group { 'sysadmin': role => "Administrator", users => [ 'user1@pam' ], }`
### Parameters
#### proxmox::hypervisor
* `ve_pkg_ensure`: What to set the Virtual Environnment package to. Can be 'present', 'absent' or 'version'. Defaults to 'present'.
* `ve_pkg_name`: The list of VirtualEnvironnment packages. Can be an array [ 'proxmox-ve-2.6.32', 'ksm-control-daemon', 'vzprocps', 'open-iscsi', 'bootlogd', 'pve-firmware' ].
* `kvm_only`: If set to 'true', Puppet will install a newer kernel compatible only with KVM. Accepts 'true' or 'false'. Defaults to 'false'.
* `kernel_kvm_pkg_name`: The list of packages to install the newer kernel. Can be an array [ 'pve-kernel-3.10.0-5-pve', '...' ].
* `kernel_pkg_name`: The list of packages to install a kernel compatible with both KVM and OpenVZ. Can be an array [ 'pve-kernel-2.6.32-34-pve', '...' ].
* `rec_pkg_name`: The list of recommended and usefull packages for Proxmox. Can be an array [ 'ntp', 'ssh', 'lvm2', 'bridge-utils' ].
* `old_pkg_ensure`: What to set useless packages (non recommended, previous kernel, ...). Can be 'present' or 'absent'. Defaults to 'absent'.
* `old_pkg_name`: The list of useless packages. Can be an array [ 'acpid', 'linux-image-amd64', 'linux-base', 'linux-image-3.2.0-4-amd64' ].
* `pve_enterprise_repo_ensure`: Choose to keep the PVE enterprise repository. Can be 'present' or 'absent'. Defaults to 'absent'.
* `pveproxy_default_path`: Path of the configuration file read by the PveProxy service. Defaults to '/etc/default/pveproxy'.
* `pveproxy_default_content`: Template file use to generate the previous configuration file. Default to 'proxmox/hypervisor/pveproxy_default.erb'.
* `pveproxy_allow`: Can be ip addresses, range or network; separated by a comma (example: '192.168.0.0/24,10.10.0.1-10.10.0.5'). Defaults to '127.0.0.1'.
* `pveproxy_deny`: Unauthorized IP addresses. Can be 'all' or ip addresses, range or network; separated by a comma. Defaults to 'all'.
* `pveproxy_policy`: The policy access. Can be 'allow' or 'deny'. Defaults to 'deny'.
* `pveproxy_service_name`: WebGUI's service name (replace Apache2 since v3.0). Defaults to 'pveproxy'.
* `pveproxy_service_manage`: If set to 'true', Puppet will manage the WebGUI's service. Can be 'true' or 'false'. Defaults to 'true'.
* `pveproxy_service_enabled`: If set to 'true', Puppet will ensure the WebGUI's service is running. Can be 'true' or 'false'. Defaults to 'true'.
Limitations
-----------
2015-01-06 08:55:34 +01:00
This module will work only on Debian 7.x versions.
2015-01-06 08:55:34 +01:00
Development
-----------
2015-01-06 08:55:34 +01:00
Free to send contributions, fork it, ...
2015-01-06 08:55:34 +01:00
License
-------
2015-01-06 08:55:34 +01:00
WTFPL (http://wtfpl.org/)
2015-01-06 08:55:34 +01:00