Skip to content

velaluqa/puppet-gitlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UNMAINTAINED

Since we stopped using puppet for our infrastructure, we are not going to maintain this solution anymore.

Puppet-gitlab Build Status

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.

Usage

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,
  }

Other class parameters

  • 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)

Dependencys

See gitlab example.

GitLab web interface

  1. Add an ssh key to your account, or create another account
  2. Create a project
  3. Play !

Contribute

Want to help - send a pull request.

Development environment with vagrant

See vagrant-gitlab.