/johanek-redmine

Redmine

Primary LanguagePuppetOtherNOASSERTION

johanek-redmine

Build Status

This module installs redmine, running behind apache and passenger, and backed by mysql, mariadb or postgresql

Tested on CentOS 6.5 and debian wheezy

Requirements

Packages installed during process:

All OS: wget, tar, make, gcc

CentOS: mysql-devel or mariadb-devel, postgresql-devel, sqlite-devel, ImageMagick-devel, ruby-devel

Debian: libmysql++-dev, libmysqlclient-dev, libmagickcore-dev, libmagickwand-dev, ruby-dev, imagemagick, libpq-dev

Gems installed during process: bundler

Modules required: puppetlabs-mysql 2.0 or later, puppetlabs-stdlib, puppetlabs-apache, puppetlabs-concat, puppetlabs-postgresql 3.3.0 or later

Optional modules: puppetlabs-vcsrepo if you want to download redmine from a repository(the default)

Example Usage

To install the default version of redmine

    class { 'apache': }
    class { 'apache::mod::passenger': }
    class { '::mysql::server': }
    class { 'redmine': }

To install version 2.5.0 from the official svn repository

    class { 'apache': }
    class { 'apache::mod::passenger': }
    class { '::mysql::server': }
    class { 'redmine':
      download_url => 'svn.redmine.org/redmine/tags/2.5.0',
      provider     => 'svn',
      version      => 'HEAD',
    }

Install default redmine with a postgresql database

    class { 'apache': }
    class { 'apache::mod::passenger': }
    class { '::postgresql::server': }
    class { 'redmine':
      database_adapter => 'postgresql',
    }

Parameters

#####version

Set to desired version. Default: 2.2.3

#####download_url

Download URL for redmine tar.gz when using wget as the provider. The repository url otherwise. When using wget, be sure to provide the full url. Default: https://github.com/redmine/redmine

#####provider

The VCS provider or wget. When setting the provider to wget, be sure to set download_url to a valid tar.gz archive. To use the svn provider you have to provide the full url to the tag or branch you want to download and unset the version. Default: git

#####database_server

Database server to use. Default: 'localhost' If server is not on localhost, the database and user must be setup in advance.

#####database_user

Database user. Default: 'redmine'

#####database_password

Database user password. Default: 'redmine'

#####production_database

Name of database to use for production environment. Default: 'redmine'

#####development_database

Name of database to use for development environment. Default: 'redmine_development'

#####database_adapter

Database adapter to use for database configuration. Can be either 'mysql' for ruby 1.8, 'mysql2' for ruby 1.9 or 'postgresql'. Default: 'mysql'

#####smtp_server

SMTP server to use. Default: 'localhost'

#####smtp_domain

Domain to send emails from. Default: $::domain

#####smtp_port

SMTP port to use. Default: 25

#####smtp_authentication

Toggle SMTP authentication. Default: false

#####smtp_username

SMTP user name for authentication. Default: none

#####smtp_password

SMTP password for authentication. Default: none

#####vhost_aliases

Server aliases to use in the vhost config. Default 'redmine'. Expects a string.

#####vhost_servername

Server name to use in the vhost config. Default 'redmine'. Expects a string.

#####webroot

Directory in which redmine web files will be installed. Default: '/var/www/html/redmine'

#####install_dir

Path where redmine will be installed Default: '/usr/src/redmine'

#####override_options

Empty hash by default. Can be used to add additional options to the redmine configuration file. Example:

class { 'redmine':
  default_override => {'foo' => 'bar', 'bar' => 'baz'},
}

This will generate a config that looks like this:

default:
  # default setting of the module
  delivery_method: :smtp
  smtp_settings:
    address: localhost
    port: 25
    domain: example.com
  # user provided custom options
  bar: baz
  foo: bar

Currently does not support nested options.