Puppet Class: gitlab::setup
- Inherits:
- gitlab
- Defined in:
- manifests/setup.pp
Overview
- Class
-
gitlab::setup
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 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/setup.pp', line 4
class gitlab::setup inherits gitlab {
include git
File {
owner => $git_user,
group => $git_user,
}
# user
user { $git_user:
ensure => present,
shell => '/bin/bash',
password => '*',
home => $git_home,
comment => $git_comment,
system => true,
}
sshkey { 'localhost':
ensure => present,
host_aliases => $::fqdn,
key => $::sshrsakey,
type => 'ssh-rsa',
}
file { "${git_home}/.gitconfig":
ensure => file,
content => template('gitlab/git.gitconfig.erb'),
mode => '0644',
}
# directories
file { $git_home:
ensure => directory,
mode => '0755',
}
file { "${git_home}/gitlab-satellites":
ensure => directory,
mode => '0750',
}
# database dependencies
case $::osfamily {
'Debian': {
case $gitlab_dbtype {
'mysql': {
ensure_packages(['libmysql++-dev','libmysqlclient-dev'])
}
'pgsql': {
ensure_packages(['libpq-dev','postgresql-client'])
}
default: {
fail("unknow dbtype (${gitlab_dbtype})")
}
}
}
'RedHat': {
case $gitlab_dbtype {
'mysql': {
ensure_packages(['mysql-devel'])
}
'pgsql': {
ensure_packages(['postgresql-devel'])
}
default: {
fail("unknow dbtype (${gitlab_dbtype})")
}
}
}
default: {
fail("${::osfamily} not supported yet")
}
} # Case $::osfamily
# system packages
package { 'bundler':
ensure => installed,
provider => gem,
}
# dev. dependencies
ensure_packages($system_packages)
package { 'charlock_holmes':
ensure => '0.6.9.4',
provider => gem,
}
# other packages
ensure_packages(['curl'])
if $gitlab_ensure_postfix {
ensure_packages(['postfix'])
}
}
|