Modulo de puppet para la instalación y configuracion de puppetboard. De momento muy básico, pero con opciones a poder extenderlo más
De momento solo funciona con apache y con el módulo wsgi. Funciona en local a puppetdb, o si lo vamos a instalar en un servidor diferente habrá que configurar el servidor jetty de puppetdb para que permita conexion desde fuera al puerto NO SSL
Se ha de cumplir una serie de requisitos para que el módulo funcione:
- Funciona en ubuntu (probado en precise) y en Centos 6
- Se necesita un modulo de apache (recomendado puppetlabs-apache) que cree el "document root" donde va la configuración .py y se ha de ejecutar antes
- Dependencia de módulo puppetlabs-stdlib
En esta primerisima versión esta configuración que defino abajo es funcional.
package { 'python-pip':
ensure => installed,
}
class { 'apache':
default_vhost => false,
}
apache::vhost { 'puppetboard':
port => '80',
docroot => '/var/www/puppetboard',
wsgi_daemon_process => 'puppetboard',
wsgi_daemon_process_options =>
{ processes => '2',
threads => '15',
},
wsgi_process_group => 'puppetboard',
wsgi_script_aliases => { '/' => '/var/www/puppetboard/wsgi.py' },
}
class { 'puppetboard':
puppetdb_host => '<host>',
puppetdb_port => '8080',
require => [
Package['python-pip'],
Apache::Vhost['puppetboard']
],
}
Pedro Miguel Blanco
Nuevo parámetro "ensure" para poder permitir una versioń en concreto de Puppetboard. Esto ha venido por la necesidad de usar en puppet antiguos, con puppetdb < 3, el usar la API antigua. En las versiones superiores de puppeboard >=1, se usa el nuevo estilo de API de puppetdb
Arreglado problema con provider pip de recursos package. En las últimas versiones usa el binario /usr/bin/pip-package y este no existe. Se soluciona creando un enlace simbólico
Solucionamos el problema de que no esté el paquete python-pip en el sistema. A cambio tenemos dependencia de módulo puppetlabs-stdlib
Soluciones a problemas con el fichero de configuracion settings.py solucionados Se fuerza para que los ficheros .erb sean format de fin de línea linux El nombre del paquete se definie igual para todos los S.0. ya que es un paquete de PIP