[] (https://travis-ci.org/mricon/puppet-bugzilla)
- Overview
- Module Description - What the module does and why it is useful
- Setup
- Reference
- Limitations - OS compatibility, etc.
Puppet module to manage Bugzilla installation and configuration.
This module installs and configures Bugzilla version 5 (though other versions will probably work, too). It tries to avoid the dependency hell of depending on 3,000 perl packages provided by the distribution by relying on cpan-module installation scripts provided by bugzilla itself. It installs them locally to a (configurable) location where the modules do not clash with the rest of the distribution but provide the codebase required by bugzilla.
There are a few things you HAVE to set up to get going with Bugzilla, such as who will be the administrator and what the "site_wide_secret" should be (it's a random string at least 64 characters long that will be used to hash client cookies and other data).
It's expected that this module will be used with hiera, so the quickest way to configure it for your environment is to add it to your Puppetfile:
mod 'mricon-bugzilla'
The minimal configuration bits that should go into hiera are:
bugzilla::config::site_wide_secret: '[64-char random string]'
bugzilla::config::admin_login: 'administrator'
bugzilla::config::admin_email: '[email protected]'
bugzilla::config::admin_password: 'somepassword'
bugzilla::config::admin_realname: 'Bugzilla Administrator'
Without the above, the module will refuse to run.
You should probably configure your database settings and hostname as well. Double-check the latest version, too, as you will probably want to use the latest release
bugzilla::config::db_driver: 'mysql'
bugzilla::config::db_host: 'x.x.x.x'
bugzilla::config::db_name: 'bugs'
bugzilla::config::db_user: 'bugs'
bugzilla::config::db_pass: 'somepassword'
bugzilla::apache_vhost_name: 'bugzilla.example.com'
bugzilla::version: 'release-5.1.1'
The initial run will take a LONG time, as bugzilla will be cloning the git repository, then downloading and installing a lot of CPAN modules required by the version of bugzilla. After the
Whether to manage git installation (needed to clone the bugzilla repository).
Default: true
Whether to manage database setup and/or export (see more below).
Default: true
If managing the db, is the db configuration exported?
Default: false
If the database is exported, set the tag to be "caught" by the managing server.
Default: undef
Bugzilla version to install. Must match the tag in the bugzilla repository.
Default: release-5.1.1
Location where the bugzilla tree should be cloned.
Default: /usr/local/share/bugzilla
Where the configuration files should be kept.
Default: /etc/bugzilla
Where the local data should be kept (the data
dir).
Default: /var/lib/bugzilla
Where to clone the bugzilla tree from. If you must carry local changes that cannot be put into an extension, you can use your own repo location here.
Default: upstream bugzilla on github
Where to install CPAN modules.
Default: /usr/local
You may tweak the flags passed to the cpanm command.
Default: (see source)
If for some bizarre reason you disabled your SELinux, you can set this to
undef
to prevent the module from setting equivalency to the bugzilla
location defined by the upstream policy (/usr/share/bugzilla
).
Default: /usr/share/bugzilla
Set this to false if you don't want to manage apache at all.
Default: true
When set to true, the module will set up a cookie-cutter vhost for you that is acceptable for most standalone configurations.
Default: true
The name of the vhost to use.
Default: bugzilla.example.com
Most of these correspond directly to settings in the localconfig
configuration file. Refer to the comments there for full details
Default: 1
Default: apache
Default: 0
Default: sqlite
Default: localhost
Default: bugs
Default: bugs
Default: undef
Default: 0
Default: undef
Default: 0
Default: undef
Default: 0
Default: /bin/interdiff
Default: /bin
Default: undef
Default: undef
Default: undef
Default: 250000
Default: undef
Most template or other behaviour configuration changes are best done via extensions, so use this hash to define the name of the extension and the path where the directory with full extension contents should be found.
Example hiera:
bugzilla::config::extensions:
'Example': 'puppet:///modules/profile/bugzilla/extensions/Example'
The directory will be recursively copied in place.
Default: undef
Written and tested for CentOS 7 only, and will require some hacking to make it work on other distros (patches welcome).