Since we stopped using puppet for our infrastructure, we are not going to maintain this solution anymore.
Tested successfully with Gitlab 5.3-stable on Debian Wheezy with Puppet 3
GitLab is a free project and repository management application
A Puppet Module is a collection of related content that can be used to model the configuration of a discrete service.
This module is based on the admin guides for gitlab, stable version.
Note: Assume that a database server is already installed on your server/infrastructure (see: vagrant-gitlab).
class {
'gitlab':
git_email => 'notifs@foobar.fr',
git_comment => 'GitLab',
gitlab_domain => 'gitlab.foobar.fr',
gitlab_dbtype => 'mysql',
gitlab_dbname => $gitlab_dbname,
gitlab_dbuser => $gitlab_dbuser,
gitlab_dbpwd => $gitlab_dbpwd,
ldap_enabled => false,
}
- git_user: Name of the gitlab (default: git)
- git_home: Home directory for gitlab repository (default: /home/git)
- git_email: Email address for gitlab user (default: git@someserver.net)
- git_comment: Gitlab user comment (default: GitLab)
- gitlab_sources: Gitlab sources (default: git://github.com/gitlabhq/gitlabhq.git)
- gitlab_branch: Gitlab branch (default: 5-3-stable)
- gitlabshell_sources: Gitlab-shell sources (default: git://github.com/gitlabhq/gitlab-shell.git)
- gitlabshell_banch: Gitlab-shell branch (default: v1.5.0)
- gitlab_dbtype: Gitlab database type (default: mysql)
- gitlab_dbname: Gitlab database name (default: gitlabdb)
- gitlab_dbuser: Gitlab database user (default: gitlabu)
- gitlab_dbpwd: Gitlab database password (default: changeme)
- gitlab_dbhost: Gitlab database host (default: localhost)
- gitlab_dbport: Gitlab database port (default: 3306)
- gitlab_domain: Gitlab domain (default $fqdn)
- gitlab_repodir: Gitlab repository directory (default: $git_home)
- gitlab_ssl: Enable SSL for GitLab (default: false)
- gitlab_ssl_cert: SSL Certificate location (default: /etc/ssl/certs/ssl-cert-snakeoil.pem)
- gitlab_ssl_key: SSL Key location (default: /etc/ssl/private/ssl-cert-snakeoil.key)
- gitlab_ssl_self_signed: Set true if your SSL Cert is self signed (default: false)
- gitlab_projects: GitLab default number of projects for new users (default: 10)
- gitlab_username_change: Manage username changing in GitLab (default: true)
- ldap_enabled: Enable LDAP backend for gitlab web (see bellow) (default: false)
- ldap_host: FQDN of LDAP server (default: ldap.domain.com)
- ldap_base: LDAP base dn (default: dc=domain,dc=com)
- ldap_uid: Uid for LDAP auth (default: uid)
- ldap_port: LDAP port (default: 636)
- ldap_method: Method to use (default: ssl)
- ldap_bind_dn: User for LDAP bind auth (default: nil)
- ldap_bind_password: Password for LDN bind auth (default: nil)
- puppetlabs/puppetlabs-mysql >= 0.6.1
- puppetlabs/puppetlabs-stdlib >= 4.1.0
- fsalum/puppet-redis >= 0.0.5
- jfryman/puppet-nginx >= 0.0.1
- puppetlabs/puppetlabs-ruby >= 0.0.2
See gitlab example.
- access via your browser under the hostname (e.g. http://gitlab.domain.tld)
- Login: admin@local.host
- Password: 5iveL!fe
- Add an ssh key to your account, or create another account
- Create a project
- Play !
Want to help - send a pull request.
See vagrant-gitlab.