Git Product home page Git Product logo

puppet-gitlab's Introduction

Puppet-gitlab

Build Status Puppet Forge License

Table of contents

  1. Overview
  2. Module description
  3. Parameters
  4. Usage
  5. Limitation
  6. Development

Overview

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.

Module description

This module is based on the admin guides for gitlab, stable version.

Dependencies

See gitlab example.

GitLab web interface

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

Parameters

See manifest/init.pp and manifests/params.pp

Usage

Note: Assume that a database server is already installed on your server/infrastructure (see: vagrant-gitlab).

class gitlab

class {
  'gitlab':
    git_email         => '[email protected]',
    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,
}

class gitlab::ci

class { 'gitlab::ci':
  ci_comment         => 'GitLab',
  gitlab_server_urls => ['https://gitlab.example.org']
  gitlab_domain      => $gitlab_domain,
  gitlab_dbtype      => 'mysql',
  gitlab_dbname      => $ci_dbname,
  gitlab_dbuser      => $ci_dbuser,
  gitlab_dbpwd       => $ci_dbpwd,
  gitlab_http_port   => 8081,
}

class gitlab::ci::runner

# The registration token can be found at: http://ci.example.com/admin/runners, accessible through Header > Runners.
class { 'gitlab::ci::runner':
  ci_server_url      => 'https://ci.example.com',
  registration_token => 'replaceme',
}

A Complete example

include redis
include nginx
include mysql::server
include git
include nodejs
include logrotate

mysql::db {'gitlab': user => 'user', password => 'password' }

class {'gitlab':
  git_user                 => 'git',
  git_home                 => '/home/git',
  git_email                => '[email protected]',
  git_comment              => 'GitLab',
  gitlab_sources           => 'https://github.com/gitlabhq/gitlabhq.git',
  gitlab_domain            => 'gitlab.localdomain.local',
  gitlab_http_timeout      => '300',
  gitlab_dbtype            => 'mysql',
  gitlab_backup            => true,
  gitlab_dbname            => 'gitlab',
  gitlab_dbuser            => 'user',
  gitlab_dbpwd             => 'password',
  ldap_enabled             => false,
}

Limitations

This module has been built on and tested against Puppet 2.7 and higher.

The module has been tested on:

  • RedHat Enterprise Linux 5/6/7
  • Debian 6/7
  • CentOS 5/6/7
  • Ubuntu 12.04/14.04

Testing on other platforms has been light and cannot be guaranteed.

Development

Want to help - send a pull request.

Beaker-Rspec

This module has beaker-rspec tests

To run:

bundle install
bundle exec rspec spec/acceptance
# or use BEAKER_destroy=no to keep the resulting vm
BEAKER_destroy=no bundle exec rspec spec/acceptance
# or for centos
BEAKER_set=centos-70-x64 BEAKER_destroy=no bundle exec rspec spec/acceptance

Development environment with vagrant

See vagrant-gitlab.

puppet-gitlab's People

Contributors

achaphiv avatar alexcern avatar allen57 avatar andyleejordan avatar atomaka avatar atosatto avatar blkperl avatar clambertus avatar elementalvoid avatar fpletz avatar gcmalloc avatar greg0ire avatar hordijk avatar ianunruh avatar igalic avatar jrmoserbaltimore avatar kalmanolah avatar kleinmann avatar lboynton avatar lmello avatar lorn avatar minitux avatar robbyt avatar sbadia avatar setola avatar spredzy avatar spuder avatar sroegner avatar vekexasia avatar zipkid avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.