Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
- Puppet >= 5.5.8 < 7.0.0
- , , , , ,
Tasks:
- post_upgrade
- postgres_upgrade
Start using this module
Add this module to your Puppetfile:
mod 'puppet-gitlab', '5.0.0'
Learn more about managing modules with a PuppetfileDocumentation
gitlab
Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with gitlab
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
This Puppet module installs and manages Gitlab. It makes use of the provided Omnibus packages and the packagecloud package repositories.
Please note: The module vshn/gitlab has been deprecated and is now available under Vox Pupuli puppet/gitlab.
Module Description
The module installs the Gitlab package from the provided repositories and creates the configuration file
which is then used by gitlab-ctl reconfigure
to configure all the services. Fun fact: This really uses
Chef to configure all the services.
Supported are Debian based (Ubuntu, Debian) and RedHat based (CentOS, RHEL) operating systems.
Beaker acceptance tests are run in Travis for supported versions of CentOS and Ubuntu.
This module is designed to support the most recent versions of the gitlab-omnibus package (both ce and ee). Gitlab will support and release patches for the last 3 releases. This module can typically support the most recent major version, as well as the previous major version, but is currently only tested in the gitlab-supported versions of the module.
If you find configurations or features in gitlab-omnibus that are not supported by this module, please open an issue or submit a pull request.
Current Support Status
gitlab-omnibus version | support of gitlab.rb configurations |
---|---|
11.x | Mostly implemented, supported configs are stable |
10.x | All configs implemented and stable |
For older versions of gitlab, you may find an older version of this module to work better for you, as this module changes over time to support the valid configuration of versions of the gitlab-omnibus supported by the gitlab engineering team. The oldest versions of this puppet module were designed to support gitlab-omnibus 7.10, and may be unstable even then.
Setup
What gitlab affects
- Package repository (APT or YUM)
- Omnibus gitlab package, typically
gitlab-ce
orgitlab-ee
- Configuration file
/etc/gitlab/gitlab.rb
- System service
gitlab-runsvdir
- Gitlab configuration using
gitlab-ctl reconfigure
Setup Requirements
Have a look at the official download page for the required prerequisits (f.e. Postfix). This module doesn't handle them, that's the job of the specific modules.
It requires only the puppetlabs-apt module when using it under
a Debian based OS and the parameter manage_package_repo
is not false. Furthermore the stdlib
module is required.
At least on RedHat based OS versions, it's required that Puppet is configured with
the stringify_facts
setting set to false
(Puppet < 4.0), otherwise
the $::os
fact used in install.pp
doesn't work as expected.
Beginning with Gitlab
Just include the class and specify at least external_url
. If external_url
is not specified it will default to the FQDN fact of the system.
class { 'gitlab':
external_url => 'http://gitlab.mydomain.tld',
}
The module also supports Hiera, here comes an example:
gitlab::external_url: 'http://gitlab.mydomain.tld'
gitlab::gitlab_rails:
time_zone: 'UTC'
gitlab_email_enabled: false
gitlab_default_theme: 4
gitlab_email_display_name: 'Gitlab'
gitlab::sidekiq:
shutdown_timeout: 5
If one wants to install Gitlab Enterprise Edition, just define the parameter manage_upstream_edition
with the value ee
:
class { 'gitlab':
external_url => 'http://gitlab.mydomain.tld',
manage_upstream_edition => 'ee',
}
Note: This works only for Gitlab version 7.11 and greater. See this blog entry: GitLab 7.11 released with Two-factor Authentication and a publicly viewable Enterprise Edition
Usage
The main class (init.pp
) exposes the configuration sections from the gitlab.rb
configuration file
as hashes. So if there are any parameter changes in future versions of Gitlab, the module should support
them right out of the box. Only if there would be bigger changes to sections, the module would need
some updates.
All possible parameters for gitlab.rb
can be found here: gitlab.rb.template
Some examples:
class { 'gitlab':
external_url => 'http://gitlab.mydomain.tld',
gitlab_rails => {
'webhook_timeout' => 10,
'gitlab_default_theme' => 2,
},
logging => {
'svlogd_size' => '200 * 1024 * 1024',
},
}
Service management
GitLab Omnibus is designed to manage it's own services internally. The gitlab-runsvdir
service isn't a typical service that you would manage with puppet, it is a
monitoring service for the other services gitlab will create based on your selected configuration. Starting, stopping and restarting the gitlab-runsvdir
service
should only be done by gitlab-ctl
commands. Service restart is also handled implicitly during installation and upgrades, and does not normally need to be triggered
by puppet.
If you find yourself needing to modify this behavior, you can set service_manage => true
to have puppet ensure the service is running.
Setting service_provider_restart => true
will cause puppet to trigger a gitlab-ctl restart
command to be issued following any configuration change managed by
puppet.
Package & Repository Configuration
Repository Resource Configuration
This module allows you a great range of options when configuring the repository and package sources on your host. By default,
the gitlab repository will be configured to use the upstream source from https://packages.gitlab.com. However, if you wish
to use a different repository source, you can provide your own yumrepo
, apt
or any other package/repository configuration you wish.
This module does this by iterating through configurations provided to gitlab::omnibus_package_repository::repository_configuration
. You
can provide any number of repository resource types and configurations you want, as long as the dependent modules are installed on your basemodulepath.
This approach provides the following advantages:
- means any and all parameters supported by your repository manager module are inherently supported by the
gitlab
module - you aren't required to use a version of a dependency we specify, supporting a wide range of versions for modules like
apt
- you can easily add more required repositories and packages as needed by your infrastructure, and ensure ordering is managed within the gitlab module before any gitlab related packages are installed
In order to provide your own repository configurations, you are required to set manage_upstream_edition => disabled
, and provide a hash
of repository resource type configurations in the following format:
gitlab::repository_configuration:
repository_resource_type: #ex... 'apt::source` or `apt::pin` or `yumrepo`
repository_resource_title:
repository_resource_attribute1: 'value'
repository_resource_attribute2: 'value'
Examples/defaults for yumrepo
can be found at data/RedHat.yaml
, and for apt
at data/Debian.yaml
.
You could also do things like:
- add an additional repository at the same level as
internal_mirror_of_gitlab_official_ce
(for example if you wanted to use your own packagenginx
instead of the one provided in omnibus-gitlab) - add any other high level resource types from the
apt
module at the level ofapt:source
. (apt::pin
,apt::key
, etc...)
Each unique resource provided to the repository_configuration
setup:
- gets tagged with
gitlab_omnibus_package_resource
- gets the
before => Class['gitlab::install']
metaparameter.
You can use these tags to further customize ordering within your own catalogs.
Selecting Version, edition, and package name
The package_ensure
parameter is used to control which version of the package installed. It expects either a version string, or one of the ensure
values for the Package
resource type. Default is installed
. This value works with the package_name
parameter to install the correct package.
If you are using upstream package source, the package name automatically switches between gitlab-ce
and gitlab-ee
depending on the value you have
provided to manage_upstream_edition
. If manage_upstream_edition
is set to disabled
, you will need to provide the appropriate value to package_name
yourself.
This approach of package management has the following advantages:
- more easily adaptable if gitlab changes package naming based on editions (won't require you to install new puppet-gitlab module if you're not ready)
- allows you to install custom built packages for gitlab-omnibus that have different package name on your host
Custom Repository & Package configuraiton example
As an expanded example of repository and package configuration, let's assume you're:
- using a private mirror of the upstream gitlab package channel
- hosted inside your organizations firewall
- installing gitlab-omnibus enterprise edition
class { 'gitlab':
external_url => 'http://gitlab.mydomain.tld',
manage_upstream_edition => 'disabled',
package_name => 'gitlab-ee',
repository_configuration => {
'apt::source' => {
'internal_mirror_of_gitlab_official_ce' => {
'comment' => 'Internal mirror of upstream gitlab package repository',
'location' => 'https://my.internal.url/repository/packages.gitlab.com/gitlab/gitlab-ce/debian',
'key' => {
'id' => 'F6403F6544A38863DAA0B6E03F01618A51312F3F',
'source' => 'https://my.internal.url/repository/package.gitlab.com/gpg.key'
}
},
}
}
}
Gitlab secrets
Note: gitlab::secrets
parameter was removed in v3.0.0. See: Issues#213 - Remove support for setting content of gitlab-secrets.json
When using HA role application_role
, make sure to add the appropriate shared secrets to your gitlab_rails
and gitlab_shell
hashes to ensure front-end nodes
are configured to access all backend data-sources and repositories. If you receive 500 errors on your HA setup, this is one of the primary causes.
LDAP configuration example
Here is an example how to configure LDAP using Hiera:
gitlab::gitlab_rails:
ldap_enabled: true
ldap_servers:
myldapserver:
label: 'Company LDAP'
host: 'ldap.company.tld'
port: 389
uid: 'uid'
method: 'plain' # "tls" or "ssl" or "plain"
bind_dn: 'MYBINDDN'
password: 'MYBINDPW'
active_directory: false
allow_username_or_email_login: false
block_auto_created_users: false
base: 'MYBASEDN'
group_base: 'MYGROUPBASE'
user_filter: ''
NGINX Configuration
Configuration of the embedded NGINX instance is handled by the /etc/gitlab/gitlab.rb
file. Details on available configuration options are available at http://doc.gitlab.com/omnibus/settings/nginx.html. Options listed here can be passed in to the nginx
parameter as a hash. For example, to enable ssh redirection:
class { 'gitlab':
external_url => 'https://gitlab.mydomain.tld',
nginx => {
redirect_http_to_https => true,
},
}
Similarly, the certificate and key location can be configured as follows:
class { 'gitlab':
external_url => 'https://gitlab.mydomain.tld',
nginx => {
ssl_certificate => '/etc/gitlab/ssl/gitlab.example.com.crt',
ssl_certificate_key => '/etc/gitlab/ssl/gitlab.example.com.key'
},
}
Skip Auto Reconfigure (formerly Skip Auto Migrations)
In order to achieve Zero Downtime Upgrades
of your GitLab instance, GitLab will need to skip the post-install step of the omnibus package that automatically calls
gitlab-ctl reconfigure
for you. In GitLab < 10.5, GitLab check for the presence of a file at /etc/gitlab/skip-auto-migrations
.
As of GitLab 10.6
, this is deprecated, and you are warned to use /etc/gitlab/skip-auto-reconfigure
going forward.
Both of these are currently supported in this module, and you should be aware of which option is right for you based on the version of GitLab Omnibus you are running. You will be presented with a deprecation notice in you puppet client if using the deprecated form.
# use 'absent' or 'present' for the skip_auto_reconfigure param
class { 'gitlab':
skip_auto_reconfigure => 'present'
}
# use true/false for the skip_auto_migrations param
class { 'gitlab':
skip_auto_migrations => true
}
Gitlab Custom Hooks
Manage custom hook files within a GitLab project. Custom hooks can be created as a pre-receive, post-receive, or update hook. It's possible to create different custom hook types for the same project - one each for pre-receive, post-receive and update.
gitlab::custom_hook { 'my_custom_hook':
namespace => 'my_group',
project => 'my_project',
type => 'post-receive',
source => 'puppet:///modules/my_module/post-receive',
}
or via hiera
gitlab::custom_hooks:
my_custom_hook:
namespace: my_group
project: my_project
type: post-receive
source: 'puppet:///modules/my_module/post-receive'
Since GitLab Shell 4.1.0 and GitLab 8.15 Chained hooks are supported. You can create global hooks which will run for each repository on your server. Global hooks can be created as a pre-receive, post-receive, or update hook.
gitlab::global_hook { 'my_custom_hook':
type => 'post-receive',
source => 'puppet:///modules/my_module/post-receive',
}
or via hiera
gitlab::global_hooks:
my_custom_hook:
type: post-receive
source: 'puppet:///modules/my_module/post-receive'
Fast Lookup of SSH keys
GitLab instances with a large number of users may notice slowdowns when making initial connections for ssh operations.
GitLab has created a feature that allows authorized ssh keys to be stored in the db (instead of the authorized_keys
file for the git
user)
You can enable this feature in GitLab using the store_git_keys_in_db
parameter.
Please note, managing the sshd service and openssh is outside the scope of this module.
You will need to configure the AuthorizedKeysCommand for the git
user in sshd.server yourself.
Instructions for this are provided by GitLab at
Fast lookup of authorized SSH keys in the databasse
Setting up GitLab HA
pgbouncer Authentication
For use in HA configurations, or when using postgres replication in a single-node setup, this module supports automated configuration
of pgbouncer authentication. To set this up, set pgpass_file_ensure => 'present'
and provide a valid value for pgbouncer_password
.
class {'gitlab':
pgpass_file_ensure => 'present',
pgbouncer_password => 'YourPassword'
}
By default, this creates a file at /home/gitlab-consul/.pgpass
, which gitlab uses to authenticate to the pgbouncer database as the
gitlab-consul
database user. This does not refer to the gitlab-consul
system user. The location of the .pgpass
file can
be changed based on how you manage homedirs or based on your utilization of NFS. This location should be set to be the home
directory you have configured for the gitlab-consul
system user.
class {'gitlab':
pgpass_file_location => '/homedir/for/gitlab-consul-system-user/.pgpass'
}
Tasks
The Gitlab module has a task that allows a user to upgrade the pgsql database Gitlab uses if upgrading from version 9.2.18, which is required to upgrade Gitlab past 10. When running the tasks on the command line, you will need to use the --sudo
, --run-as-root
, and --tty
flags to execute the commands as needed for your environment.
Please refer to to the PE documentation or Bolt documentation on how to execute a task.
Development
- Fork it (https://github.com/voxpupuli/puppet-gitlab/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Make sure your PR passes the Rspec tests.
Contributors
Have a look at Github contributors to see a list of all the awesome contributors to this Puppet module. <3 This module was created and maintained by VSHN AG until the end of 2017. It was then donated to Voxpupuli so that a broader community is able to maintain the module.
What are tasks?
Modules can contain tasks that take action outside of a desired state managed by Puppet. It’s perfect for troubleshooting or deploying one-off changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment.
Tasks in this module release
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v5.0.0 (2020-04-07)
Breaking changes:
- Support puppetlabs/stdlib 6.x #320 (pillarsdotnet)
Implemented enhancements:
- Support Debian 10 #332 (antondollmaier)
- Use new gitlab gpg keys for package management #331 (jkroepke)
Fixed bugs:
- Fix typo in configuration file comments #314 (cpeetersburg)
Closed issues:
Merged pull requests:
v4.0.1 (2019-05-02)
Fixed bugs:
v4.0.0 (2019-04-30)
Breaking changes:
- modulesync 2.7.0 and drop puppet 4 #305 (bastelfreak)
- Remove service dependency cycle by dropping management of the gitlab-runsvdir service #293 (LongLiveCHIEF)
Implemented enhancements:
- Add support for Debian 9 and Ubuntu 18.04 #308 (dhoppe)
- Allow puppetlabs/apt 7.x #307 (dhoppe)
- Add support for Grafana dashboard #303 (minorOffense)
Fixed bugs:
- Dependency error when gitlab::service::service_manage is set to false #284
Closed issues:
- Add support for Grafana dashboard #302
- Need to know how to set the root password via this module #301
- typo in .github/issue template #296
- Mattermost SMTP port cannot be configured by the module #289
Merged pull requests:
- Update README.md #295 (jjasghar)
- updating module descr and support info #294 (LongLiveCHIEF)
- Fix Continuous Integration #292 (smortex)
- enable beaker acceptance tests #287 (Dan33l)
- Replace deprecated validate_* functions #286 (baurmatt)
v3.0.2 (2018-10-17)
Fixed bugs:
v3.0.1 (2018-10-13)
Fixed bugs:
Closed issues:
- DEB repo on ubuntu should not point to debian #277
v3.0.0 (2018-10-13)
Breaking changes:
- Remove support for setting content of
gitlab-secrets.json
#213 - 244 refactor repository package management #246 (LongLiveCHIEF)
- Refactor resource ordering #241 (LongLiveCHIEF)
- remove gitlab-ci-runner from module #262 (LongLiveCHIEF)
- Do not manage apt-transport-https. #243 (jkroepke)
Implemented enhancements:
- Alertmanager support in the omnibus config #266
- Support creation of .pgpass file #229
- Reformat registration options in --option=value output #189
- WIP: Add
consul
,pgbouncer
andrepmgr
keys to configuration file template #187 - Allow external_url to be optional to support HA configurations #165
- Add a feature to make gitlab-runner member of docker group #150
- runner unregister #123
- extra_hosts settings in config.toml ? #121
- CI Runner update #120
- Refactor repository/package management to allow pulling upstream packages through a mirror (not a proxy) #244
- allow puppetlabs/apt 5.x #259 (bastelfreak)
- Add gitlab-consul auth for pgbouncer database #255 (LongLiveCHIEF)
- Allow configuration of the alertmanager via puppet. #267 (gfokkema)
Fixed bugs:
- Invalid yum/apt repositories generated #273
- preinstall manifest causes puppet run failure on fresh install #237
- Gitlab-runner installation fails. #188
- Omniauth configuration misformated with extra quotes #140
Closed issues:
- Multiple environment variables cannot be passed to gitlab-runner #261
- Boolean flags to gitlab-runner cannot be passed #260
- implicit cast '1' to integer 1 in ruby template #258
- manage_package_repo is gone and replacement is broken #250
- Change docker dependency #247
- gitlab.rb should be before package #240
- Add support for zero-downtime updates #239
- Security vulnerability ( CVE-2018-11235) #238
- 2.1.1 should be 3.0.0 #236
- gitlab_reconfigure should only be refreshed once per puppet run #227
- Ubuntu 12.04 no longer supported by gitlab #136
- is_hash, is_array, and is_any are depricated #106
- Remove GitLab Runner Features from module #268
Merged pull requests:
- modulesync 2.1.0 and allow puppet 6.x #275 (bastelfreak)
- allow puppetlabs/apt 6.x; require at least stdlib 4.13.1 #274 (bastelfreak)
- Update gpgkey for yum repos #272 (tequeter)
- fix repositories missing the edition name #271 (tequeter)
- Add consul repmgr pgbouncer params #270 (LongLiveCHIEF)
- allow puppetlabs/stdlib 5.x #265 (bastelfreak)
- add support for Zero Downtime Upgrades #251 (LongLiveCHIEF)
- Update docker module usage information #248 (LongLiveCHIEF)
- remove ubunutu 12 acceptance nodes #242 (LongLiveCHIEF)
- removed params.pp in accordance with module best practices design #252 (LongLiveCHIEF)
- remove secrets file management #249 (LongLiveCHIEF)
v2.1.0 (2018-05-27)
Implemented enhancements:
- skip-auto-migrations is deprecated in favor of skip-auto-reconfigure #228
- Update auto migrations file #234 (LongLiveCHIEF)
- Added postgres upgrade tasks #182 (Nekototori)
- Unregister runner #178 (SirUrban)
Fixed bugs:
- skip-auto-migrations should be placed before gitlab::install #232
- Wrong Type in Optional Param: user #220
- $web_server documentation differs from code #217
decorate
method intemplates/gitlab.rb.erb
file may break some thing #146- init.pp: fix #217 #219 (NiklausHofer)
Closed issues:
- Manage letsencrypt options #224
- Bad use of method 'inspect' causes bool values not to apply. #222
- Facter code still exists from Issue 131 #170
- Drop Puppet 3 support. #118
Merged pull requests:
- Remove docker nodesets #233 (bastelfreak)
- drop EOL OSs; fix puppet version range #231 (bastelfreak)
- fix typo in README #216 (catay)
- Add support for Ubuntu 16.04 LTS #214 (jkroepke)
v2.0.0 (2018-04-09)
Breaking changes:
- git_data_dirs not documented, deprecate git_data_dir #159
- remove auto-execution of gitlab:setup #210 (LongLiveCHIEF)
- remove git_data_dir #209 (LongLiveCHIEF)
Implemented enhancements:
- Migrate Puppet Module to Voxpupuli #171
- Feature: Allow database to index git authorized_keys #168
- data dir changes in gitlab 9 #137
- add letsencrypt section to gitlab.rb #200 (costela)
- Add ha roles #186 (LongLiveCHIEF)
- Db indexing for git authorized keys #177 (LongLiveCHIEF)
- drop legacy is_hash method, replace topscope fact with facts hash #107 (james-powis)
Fixed bugs:
- RHEL 7.2 Installation Failure (Possibly GPG Key URL) #196
- After upgrade to GitLab 10.4.3 each puppet run wants to remove #195
- Fixed redhat installation #198 (dsavell)
Closed issues:
- Backup cron configuration will trigger gitlab restart #204
- YUM GPG keys are invalid #203
- add support for letsencrypt options #199
- RPM gpg key verification failure on install #194
Merged pull requests:
- bump puppet to latest supported version 4.10.0 #208 (bastelfreak)
- Move backup to its own class #205 (baurmatt)
- Propose small spelling change #185 (jeis2497052)
- Allow managing backup cron w/o managing the config file #180 (mhyzon)
- Remove deprecated hiera and validation functions #119 (jkroepke)
v1.16.1 (2018-02-07)
Merged pull requests:
v1.16.0 (2018-02-07)
Implemented enhancements:
- Verify package signatures on RedHat #163
Fixed bugs:
- Regression: yum $releasever results in 404 error for RHEL yum repo #153
Closed issues:
- Deploy current version of GitLab Runner #166
- GitLab 10: Your git_dta_dirs settings is deprecated #162
- Support new package repo #157
- puppet-gitlab requires outdated module dependencies #152
- Broken LDAP #138
Merged pull requests:
- Release 1.16.0 #190 (tobru)
- Ensure spec test use hiera fixtures. #181 (andrekeller)
- Update for rubocop compliance #179 (mterzo)
- Fixes via rubocop -a #176 (kallies)
- fix typo #175 (bc-bjoern)
- initial modulesync #174 (tobru)
- Transfer module to Vox Pupuli #173 (tobru)
- Fix repo URL for RHEL 7. Enable gpgcheck and add in gitlab-ee key. #172 (mhyzon)
- apt dep version bump #169 (minorOffense)
- Add support for metrics_server in CI Runner #167 (djjudas21)
- Fix for new git_data_dirs syntax in Gitlab 10 #164 (flyinbutrs)
- Add backup job #155 (b4ldr)
- add support for chained global hooks #154 (hboomsma)
v1.15.2 (2017-09-28)
Closed issues:
- Different directory name inside the Forge package #151
Merged pull requests:
- Add 'package_name' param to cirunner class #160 (dandunckelman)
v1.15.1 (2017-07-28)
v1.15.0 (2017-07-28)
Closed issues:
Merged pull requests:
- Gitlab geo #149 (shaheed121)
- Drop warning about RPM support #142 (djjudas21)
v1.14.0 (2017-05-22)
Implemented enhancements:
- Review gitlab.rb Template #103
Closed issues:
- Unable to disable prometheus monitoring due to template #135
- Module Compatible on Enterprise Linux ? #134
- Add parameter to allow to skip auto migrations #132
- registry_external_url not recognised in hiera #113
- Feature: re-enable signup disable #112
- When specifying LDAP configuration, puppet creates a gitlab.rb file with the wrong syntax #92
Merged pull requests:
- Refactor unit tests to iterate over all supported OS's #131 (LongLiveCHIEF)
- Added Gitaly related params + fixed template for redis/sentinel related data. #130 (shaheed121)
- Adding support to confifure redis HA while using omnibus package #129 (shaheed121)
- Fix spec test #128 (op-ct)
- Adds ability to specify git_data_dirs #110 (logicminds)
v1.13.3 (2017-04-04)
v1.13.2 (2017-04-03)
v1.13.1 (2017-04-03)
v1.13.0 (2017-04-03)
v1.12.0 (2017-04-03)
Closed issues:
- Registry Configuration incorrectly formatted #127
- Omnibus overwrites
gitlab-secrets.json
#122 - CI Runner options #117
- xz-utils incorrect name for CentOS #114
Merged pull requests:
- add possibility to config prometheus exporters #126 (cristifalcas)
- fixed method for sorting hashes in gitlab.rb to sort ldap hashes too #116 (rwuest)
- In CentOS land - this is just xz #115 (mlosapio)
- Add settings for Prometheus #111 (mansong1)
- fixed the use of Integers in gitlab_rails Settings inside gitlab.rb #109 (rwuest)
- cirunner: merge hashes for runner configuration #108 (knackaron)
- cirunner: add missing hard dependency for xz-utils #105 (roock)
- cirunner: fix missing dependency to apt-transport-https #104 (roock)
v1.11.0 (2016-12-23)
Implemented enhancements:
Closed issues:
Merged pull requests:
- Fix #82 #102 (dhollinger)
- Fix incorrect syntax in "gitlab_rails['ldap_servers']" field #100 (jnicholas1)
- External url #97 (willtome)
- Refactor beaker tests for Travis #96 (petems)
- Fixes beaker tests #95 (petems)
- Add systemd_compatibility #94 (petems)
- Added external_port parameter #93 (blakejakopovic)
- Allow "Disable storage directories management" #91 (gdowmont)
- Add Beaker Travis acceptance tests #89 (petems)
v1.10.0 (2016-08-10)
Implemented enhancements:
Fixed bugs:
- Issues with Puppet 4.5.3 and Rspec-Puppet #85
Closed issues:
- gitlab-secrets.json is destroyed and recreated on every puppet run #87
- parametirize the repo path #86
- unrecognized option '--version' #65
- Failed to call refresh: Could not restart Service[gitlab-runsvdir] #64
- yum repo is incompatible for Amazon Linux #46
Merged pull requests:
- Added registry configuration hash option #84 (jkroepke)
- Typo fix: 'oder' -> 'or' #83 (Anovadea)
- Allow settings of custom gitlab.rb config file #69 (agray1017)
v1.9.2 (2016-06-14)
Closed issues:
- Bump version to > 1.8.0 #78
v1.9.1 (2016-06-14)
Merged pull requests:
- Make config file management configurable #80 (divansantana)
v1.9.0 (2016-06-14)
Implemented enhancements:
- Add support for Docker registry #74
Closed issues:
- Invalid parameter registry_external_url on Class[Gitlab] #81
- Make config file management configurable #79
- Error: Execution of '/usr/sbin/update-rc.d gitlab-runsvdir defaults' returned 1: update-rc.d: error: unable to read /etc/init.d/gitlab-runsvdir #72
- gitlab::gitlab_rails hash merge not working #66
Merged pull requests:
- Add support for Registry #76 (llauren)
- Add package_ensure parameter for gitlab-ci-multi-runner package. #70 (thlapin)
- Fix cirunner failure-message for unsupported OS families #68 (gerhardsam)
- add documentation #63 (b4ldr)
v1.8.0 (2016-03-11)
Implemented enhancements:
- Add support for pages #60
- Add support for gitlab-workhorse configuration. #59
- Cleanup CI parameters #37
Closed issues:
- ldap_servers hash order #51
- Service enabled check fails on CentOS 6 #50
- Make sure apt-transport-https is installed on Debian OS #47
Merged pull requests:
- 59 gitlab workhorse #62 (tunasalat)
- Do not enable service by default on RHEL6 #58 (petems)
- Fix rspec tests #57 (petems)
- Fixes Beaker hosts and test #55 (petems)
- add custom hooks #54 (b4ldr)
- Add RedHat support for cirunner #53 (petems)
v1.7.2 (2016-01-22)
Closed issues:
Merged pull requests:
- As this template is writing a config file based on some hashes and ha… #52 (msutter)
- Add information about how the module handles NGINX configuration. #49 (bgshacklett)
- Cleanup coding-style issues. #45 (andrekeller)
v1.7.1 (2015-12-23)
Implemented enhancements:
- Add CI multi runner installation and configuration #21
Closed issues:
- gitlab-runsvdir.service not enabled running on CentOS 7 #27
Merged pull requests:
- service enabled for all distro's #27 #43 (witjoh)
- Fix this module should work with out having to set the stringify_facts option #41 (jcsmith)
v1.7.0 (2015-11-25)
Closed issues:
- support for omniauth configuration #38
Merged pull requests:
- Add 'manage_package' parameter #40 (iamjamestl)
- Gitlab CI Runner #39 (maetthu-indermuehle)
v1.6.0 (2015-11-06)
Fixed bugs:
- Decorator Creates to many quotes #36
Closed issues:
Merged pull requests:
- allow disabling of omnibus user management #34 (alexsmithhp)
- Fix issues with deprecated values in apt::source #33 (b4ldr)
- Added the sym-link to the GitLab service executable in the /etc/init.d/. #31 (valdemon)
- Fix unrecognized datatypes inside array in decorate method #29 (deadratfink)
v1.5.0 (2015-08-27)
Closed issues:
- Question: can i configure ldap for gitlab with this puppet module? #23
- Question: Would this module work with puppet 3.6.2? #20
Merged pull requests:
v1.4.0 (2015-07-24)
Closed issues:
- Add 'db_key_base' for Gitlab CI 7.13 #22
Merged pull requests:
- Fix rails parameter in hiera example. #19 (thlapin)
- Simplify the decorator for hashes. This allows nested hashes to be output correctly. #18 (thlapin)
v1.3.0 (2015-07-17)
Closed issues:
- Not working on RHEL7? #17
- bump puppetlabs-apt supported version #16
- Wrong package url for Debian #11
- Will this puppet module be maintained? #8
Merged pull requests:
- Added check for external database #15 (sd-robbruce)
- RedHat releasever #14 (sd-robbruce)
- Updated erb template to accomodate for values being hashes #13 (sd-robbruce)
- Fixed bug with gitlab.rb.erb template for use with git_data_dir #10 (sd-robbruce)
- Adds vagrant file #9 (spuder)
v1.2.2 (2015-07-07)
Merged pull requests:
- Omnibus service fix and template improvement #7 (jrwesolo)
- Added Tags to the metadata #6 (maetthu-indermuehle)
v1.2.1 (2015-06-29)
v1.2.0 (2015-06-23)
Closed issues:
- rails vs gitlab_rails? #3
Merged pull requests:
- Remove rails; it's a duplicate of gitlab_rails. #5 (tdb)
- Add high_availability config section. #4 (tdb)
v1.1.0 (2015-06-17)
Merged pull requests:
v1.0.3 (2015-06-16)
v1.0.2 (2015-05-29)
v1.0.1 (2015-05-29)
v1.0.0 (2015-05-29)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.13.1 < 7.0.0)
- puppetlabs/apt (>= 4.4.0 < 8.0.0)
Copyright (c) 2015, VSHN AG, info@vshn.ch All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of VSHN nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.