|
50 | 50 | Boolean $datacenter = false, |
51 | 51 | $shared_homedir = undef, |
52 | 52 | # Database Settings |
53 | | - Enum['postgresql','mysql','sqlserver','oracle'] $db = 'postgresql', |
| 53 | + Enum['postgresql','mysql','sqlserver','oracle','h2'] $db = 'postgresql', |
54 | 54 | $dbuser = 'jiraadm', |
55 | 55 | $dbpassword = 'mypassword', |
56 | 56 | $dbserver = 'localhost', |
57 | 57 | $dbname = 'jira', |
58 | | - $dbport = '5432', |
59 | | - $dbdriver = 'org.postgresql.Driver', |
60 | | - $dbtype = 'postgres72', |
61 | | - $dburl = undef, |
| 58 | + Optional[Variant[Integer,String]] $dbport = undef, |
| 59 | + Optional[String] $dbdriver = undef, |
| 60 | + Optional[String] $dbtype = undef, |
| 61 | + Optional[String] $dburl = undef, |
62 | 62 | $poolsize = '20', |
63 | 63 | $dbschema = 'public', |
64 | 64 | # MySQL Connector Settings |
|
188 | 188 | $webappdir = $extractdir |
189 | 189 | } |
190 | 190 |
|
| 191 | + if $dbport { |
| 192 | + $dbport_real = $dbport |
| 193 | + } else { |
| 194 | + $dbport_real = $db ? { |
| 195 | + 'postgresql' => '5432', |
| 196 | + 'mysql' => '3306', |
| 197 | + 'oracle' => '1521', |
| 198 | + 'sqlserver' => '1433', |
| 199 | + 'h2' => '', |
| 200 | + } |
| 201 | + } |
| 202 | + |
| 203 | + if $dbdriver { |
| 204 | + $dbdriver_real = $dbdriver |
| 205 | + } else { |
| 206 | + $dbdriver_real = $db ? { |
| 207 | + 'postgresql' => 'org.postgresql.Driver', |
| 208 | + 'mysql' => 'com.mysql.jdbc.Driver', |
| 209 | + 'oracle' => 'oracle.jdbc.OracleDriver', |
| 210 | + 'sqlserver' => 'net.sourceforge.jtds.jdbc.Driver', |
| 211 | + 'h2' => 'org.h2.Driver', |
| 212 | + } |
| 213 | + } |
| 214 | + |
| 215 | + if $dbtype { |
| 216 | + $dbtype_real = $dbtype |
| 217 | + } else { |
| 218 | + $dbtype_real = $db ? { |
| 219 | + 'postgresql' => 'postgres72', |
| 220 | + 'mysql' => 'mysql', |
| 221 | + 'oracle' => 'oracle10g', |
| 222 | + 'sqlserver' => 'mssql', |
| 223 | + 'h2' => 'h2', |
| 224 | + } |
| 225 | + } |
| 226 | + |
191 | 227 | if $dburl { |
192 | 228 | $dburl_real = $dburl |
193 | 229 | } |
|
196 | 232 | 'postgresql' => "jdbc:${db}://${dbserver}:${dbport}/${dbname}", |
197 | 233 | 'mysql' => "jdbc:${db}://${dbserver}:${dbport}/${dbname}?useUnicode=true&characterEncoding=UTF8&sessionVariables=default_storage_engine=InnoDB", |
198 | 234 | 'oracle' => "jdbc:${db}:thin:@${dbserver}:${dbport}:${dbname}", |
199 | | - 'sqlserver' => "jdbc:jtds:${db}://${dbserver}:${dbport}/${dbname}" |
| 235 | + 'sqlserver' => "jdbc:jtds:${db}://${dbserver}:${dbport}/${dbname}", |
| 236 | + 'h2' => "jdbc:h2:file:/${jira::homedir}/database/${dbname}", |
200 | 237 | } |
201 | 238 | } |
202 | 239 |
|
|
0 commit comments