Puppet Class: bitbucket::config

Defined in:
manifests/config.pp

Overview

Class: bitbucket

This configures the bitbucket module. See README.md for details

Parameters:

  • version (Any) (defaults to: $bitbucket::version)
  • user (Any) (defaults to: $bitbucket::user)
  • group (Any) (defaults to: $bitbucket::group)
  • proxy (Any) (defaults to: $bitbucket::proxy)
  • context_path (Any) (defaults to: $bitbucket::context_path)
  • tomcat_port (Any) (defaults to: $bitbucket::tomcat_port)
  • config_properties (Any) (defaults to: $bitbucket::config_properties)


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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'manifests/config.pp', line 5

class bitbucket::config(
  $version      = $bitbucket::version,
  $user         = $bitbucket::user,
  $group        = $bitbucket::group,
  $proxy        = $bitbucket::proxy,
  $context_path = $bitbucket::context_path,
  $tomcat_port  = $bitbucket::tomcat_port,
  $config_properties = $bitbucket::config_properties,
) {

  # Atlassian changed where files are installed from ver 3.2.0
  # See issue #16 for more detail
  if versioncmp($version, '3.2.0') > 0 {
    $moved = 'shared/'
    $shared_dir = "${bitbucket::homedir}/${moved}"
    # Shared directory may be already defined when installing DataCenter instances (NFS mounted)
    if ! defined(File[$shared_dir]) {
      file { $shared_dir:
        ensure  => 'directory',
        owner   => $user,
        group   => $group,
        require => File[$bitbucket::homedir],
      }
    }
  } else {
    $moved = undef
  }

  File {
    owner => $bitbucket::user,
    group => $bitbucket::group,
  }

  if versioncmp($version, '3.8.0') >= 0 {
    $server_xml = "${bitbucket::homedir}/shared/server.xml"
  } else {
    $server_xml = "${bitbucket::webappdir}/conf/server.xml"
  }

  if versioncmp($version, '5.0.0') >= 0 {
    $bitbucket_http_port_ensure = 'absent'
    $bitbucket_server_xml_ensure = 'absent'
    $bitbucket_user_script = 'set-bitbucket-user'
    $bitbucket_startup_script = '_start-webapp'
  } else {
    $bitbucket_http_port_ensure = 'present'
    $bitbucket_server_xml_ensure = 'present'
    $bitbucket_user_script = 'user'
    $bitbucket_startup_script = 'setenv'
  }

  file { "${bitbucket::webappdir}/bin/${bitbucket_startup_script}.sh":
    content => template("bitbucket/${bitbucket_startup_script}.sh.erb"),
    mode    => '0750',
    require => Class['bitbucket::install'],
    notify  => Class['bitbucket::service'],
  } ->

  file { "${bitbucket::webappdir}/bin/${bitbucket_user_script}.sh":
    content => template("bitbucket/${bitbucket_user_script}.sh.erb"),
    mode    => '0750',
    require => [
      Class['bitbucket::install'],
      File[$bitbucket::webappdir],
      File[$bitbucket::homedir]
    ],
  }->

  file { $server_xml:
    ensure  => $bitbucket_server_xml_ensure,
    content => template('bitbucket/server.xml.erb'),
    mode    => '0640',
    require => Class['bitbucket::install'],
    notify  => Class['bitbucket::service'],
  } ->

  ini_setting { 'bitbucket_httpport':
    ensure  => $bitbucket_http_port_ensure,
    path    => "${bitbucket::webappdir}/conf/scripts.cfg",
    section => '',
    setting => 'bitbucket_httpport',
    value   => $tomcat_port,
    require => Class['bitbucket::install'],
    before  => Class['bitbucket::service'],
  } ->

  file { "${bitbucket::homedir}/${moved}bitbucket.properties":
    content => template('bitbucket/bitbucket.properties.erb'),
    mode    => '0640',
    require => [
      Class['bitbucket::install'],
      File[$bitbucket::webappdir],
      File[$bitbucket::homedir]
    ],
  }
}