Skip to content
This repository has been archived by the owner on Jan 26, 2020. It is now read-only.

johanek/johanek-redmine

Repository files navigation

johanek-redmine

This project is abandoned

Build Status

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

Tested on CentOS 6.5, debian wheezy and Ubuntu 14.04 (Trusty)

Requirements

Required modules:

  • 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)

RedHat or CentOS:

  • EPEL yum repository needs to be configured

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',
    }

Installing Plugins

Plugins can be installed and configured via the redmine::plugin resource. For example, a simple plugin can be installed like this:

    redmine::plugin { 'redmine_plugin'
      source => 'git://example.com/redmine_plugin.git'
    }

Plugins can be installed via git (the default) or any other version control system.

Bundle updates and database migrations will be handled automatically. You can update your plugin by setting ensure => latest or directly specifying the version. More complex updates can be done by subscribing to the plugin resource (via subscribe => Redmine::Plugin['yourplugin'])

Uninstalling plugins can be done by simply setting ensure => absent. Again, database migration and deletion are done for you.

Redmine 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' or 'mysql2' depending on your ruby version.

#####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: 'DOCROOT/redmine' DOCROOT is the document root of your apache server, usually /var/www or /var/www/html

#####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.

#####plugins

Optional hash of plugins to install, which are passed to redmine::plugin

#####www_subdir

Optional directory relative to the site webroot to install redmine in. Undef by default. Expects a path string without leading slash. When using this option the vhost config is your responsibility. Example:

apache::vhost { 'www.somesite.com':
  priority        => 20,
  port            => '80',
  docroot         => '/usr/src/sites/www.somesite.com/website',
  servername      => 'www.somesite.com',
  serveraliases   => ['somesite.com'],
  directories     => [
                       { path => '/usr/src/sites/www.somesite.com/website',
                       },
                       { path    => '/usr/src/redmine',
                         options => 'FollowSymlinks ExecCGI',
                         custom_fragment => "PassengerAppRoot /var/www/html/redmine\n    RailsBaseURI /redmine",
                       },
                     ],
  aliases         => [
                       { alias            => '/redmine',
                         path             => '/usr/src/redmine',
                       },
                     ],
}

#####create_vhost

Enable or disable vhost creation. True by default. When disabling this option the vhost config is your responsibility.

Plugin Parameters

#####ensure Wether the plugin should be installed. Possible values are installed, latest, and absent.

#####source Repository of the plugin. Required

#####version Set to desired version.

#####provider The vcs provider. Default: git

Contributing

See the wiki for further information about contributing to this module: https://github.com/johanek/johanek-redmine/wiki