Forge Home

bugzilla

Puppet module to manage bugzilla installation and configuration

6,960 downloads

6,960 latest version

4.3 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.1.0 (latest)
released Feb 7th 2017
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >=4.0.0 <5.0.0
  • ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'mricon-bugzilla', '0.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add mricon-bugzilla
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install mricon-bugzilla --version 0.1.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download
Tags: bugzilla

Documentation

mricon/bugzilla — version 0.1.0 Feb 7th 2017

Bugzilla

[Build Status] (https://travis-ci.org/mricon/puppet-bugzilla)

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup
  4. Reference
  5. Limitations - OS compatibility, etc.

Overview

Puppet module to manage Bugzilla installation and configuration.

Module Description

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.

Setup

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: 'administrator@example.com'
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'

Initial run

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

Reference

bugzilla

manage_git

Whether to manage git installation (needed to clone the bugzilla repository).

Default: true

manage_db

Whether to manage database setup and/or export (see more below).

Default: true

db_exported

If managing the db, is the db configuration exported?

Default: false

db_tag

If the database is exported, set the tag to be "caught" by the managing server.

Default: undef

version

Bugzilla version to install. Must match the tag in the bugzilla repository.

Default: release-5.1.1

install_dir

Location where the bugzilla tree should be cloned.

Default: /usr/local/share/bugzilla

config_dir

Where the configuration files should be kept.

Default: /etc/bugzilla

var_dir

Where the local data should be kept (the data dir).

Default: /var/lib/bugzilla

source_repo

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

cpan_install_dir

Where to install CPAN modules.

Default: /usr/local

cpanm_flags

You may tweak the flags passed to the cpanm command.

Default: (see source)

selinux_equiv_dir

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

manage_apache

Set this to false if you don't want to manage apache at all.

Default: true

apache_manage_vhost

When set to true, the module will set up a cookie-cutter vhost for you that is acceptable for most standalone configurations.

Default: true

apache_vhost_name

The name of the vhost to use.

Default: bugzilla.example.com

bugzilla::config

Most of these correspond directly to settings in the localconfig configuration file. Refer to the comments there for full details

create_htaccess

Default: 1

webservergroup

Default: apache

use_suexec

Default: 0

db_driver

Default: sqlite

db_host

Default: localhost

db_name

Default: bugs

db_user

Default: bugs

db_pass

Default: undef

db_port

Default: 0

db_sock

Default: undef

db_check

Default: 0

db_mysql_ssl_ca_file

db_mysql_ssl_ca_path

db_mysql_ssl_client_cert

db_mysql_ssl_client_key

Default: undef

index_html

Default: 0

interdiffbin

Default: /bin/interdiff

diffpath

Default: /bin

font_file

Default: undef

webdotbase

Default: undef

site_wide_secret

Default: undef

apache_size_limit

Default: 250000

admin_login

admin_email

admin_realname

admin_password

Default: undef

extensions

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

Limitations

Written and tested for CentOS 7 only, and will require some hacking to make it work on other distros (patches welcome).