Puppet Class: redmine::config

Defined in:
manifests/config.pp

Overview

Class redmine::config



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'manifests/config.pp', line 2

class redmine::config {
  require 'apache'

  File {
    owner => $apache::params::user,
    group => $apache::params::group,
    mode  => '0644',
  }

  file { $redmine::webroot:
    ensure => link,
    target => $redmine::install_dir,
  }

  # user switching makes passenger run redmine as the owner of the startup file
  # which is config.ru or config/environment.rb depending on the Rails version
  file { [
      "${redmine::install_dir}/config.ru",
    "${redmine::install_dir}/config/environment.rb"]:
      ensure => 'file',
  }

  file { [
      "${redmine::install_dir}/files",
      "${redmine::install_dir}/tmp",
      "${redmine::install_dir}/tmp/sockets",
      "${redmine::install_dir}/tmp/thumbnails",
      "${redmine::install_dir}/tmp/cache",
      "${redmine::install_dir}/tmp/test",
      "${redmine::install_dir}/tmp/pdf",
      "${redmine::install_dir}/tmp/sessions",
      "${redmine::install_dir}/public/plugin_assets",
    "${redmine::install_dir}/log"]:
      ensure  => 'directory',
  }

  file { "${redmine::install_dir}/config/database.yml":
    ensure  => file,
    content => template('redmine/database.yml.erb'),
  }

  file { "${redmine::install_dir}/config/configuration.yml":
    ensure  => file,
    content => template('redmine/configuration.yml.erb'),
  }

  if $redmine::www_subdir {
    file_line { 'redmine_relative_url_root':
      path  => "${redmine::install_dir}/config/environment.rb",
      line  => "Redmine::Utils::relative_url_root = '/${redmine::www_subdir}'",
      match => '^Redmine::Utils::relative_url_root',
    }
  } else {
    if $redmine::create_vhost {
      apache::vhost { 'redmine':
        port            => 80,
        docroot         => "${redmine::webroot}/public",
        servername      => $redmine::vhost_servername,
        serveraliases   => $redmine::vhost_aliases,
        options         => ['Indexes', 'FollowSymlinks', 'ExecCGI'],
        custom_fragment => "
          RailsBaseURI /
          PassengerPreStart http://${redmine::vhost_servername}
          ",
      }
    }
  }

  # Log rotation
  file { '/etc/logrotate.d/redmine':
    ensure  => file,
    content => template('redmine/redmine-logrotate.erb'),
    owner   => 'root',
    group   => 'root',
  }
}