cookbook 'omnibus-gitlab', '~> 0.5.4'
omnibus-gitlab (11) Versions 0.5.4 Follow8
Installs/Configures GitLab using omnibus-gitlab
cookbook 'omnibus-gitlab', '~> 0.5.4', :supermarket
knife supermarket install omnibus-gitlab
knife supermarket download omnibus-gitlab
cookbook-omnibus-gitlab-cookbook
Install GitLab Community Edition or Enterprise Edition omnibus packages from
packages.gitlab.com.
Depends on: https://gitlab.com/gitlab-cookbooks/gitlab-vault
Supported versions
Latest version of this cookbook should be able to support installation of all versions of packages listed on packages.gitlab.com/gitlab/ .
Supported Platforms
See packages.gitlab.com/gitlab/gitlab-ce.
Contributing
Please see the [contribution guidelines](CONTRIBUTING.md)
Attributes
-
node['omnibus-gitlab']['package']['repo']
defaults togitlab/gitlab-ce
. Usegitlab/gitlab-ee
for GitLab Enterprise Edition node['omnibus-gitlab']['package']['name']
defaults togitlab-ce
. Usegitlab-ee
for GitLab Enterprise Editionnode['omnibus-gitlab']['skip_auto_migrations']
defaults tofalse
. This option will create a file (/etc/gitlab/skip-auto-migrations
) which will tell the package not to rungitlab-ctl reconfigure
.node['omnibus-gitlab']['run_reconfigure']
defaults totrue
. This option will tell chef to rungitlab-ctl reconfigure
. Setting it tofalse
is useful when dealing with DB/Redis servers which should not be restarted automatically.
For more available attributes see attributes/default.rb
.
Examples
Install GitLab Community Edition 7.11.1~omnibus-1
.
{
"omnibus-gitlab": {
"package": {
"version": "7.11.1~omnibus-1"
},
"gitlab_rb": {
"external_url": "http://gitlab.example.com"
}
}
}
Install GitLab Enterprise Edition 7.11.1~ee.omnibus-1
.
{
"omnibus-gitlab": {
"package": {
"repo": "gitlab/gitlab-ee",
"name": "gitlab-ee",
"version": "7.11.1~ee.omnibus-1"
},
"gitlab_rb": {
"external_url": "http://gitlab.example.com"
}
}
}
Usage
omnibus-gitlab::default
Installs a GitLab omnibus package, renders /etc/gitlab/gitlab.rb
, manages SSL
certificates.
omnibus-gitlab::backup_cron_job
Create/remove a cron job for GitLab backups. Defaults to daily backups at 0:30.
Use 'gitlab.rb' to configure parameters like rotation and cloud uploads.
Examples
Disable backups of repositories and uploaded files:
{
"omnibus-gitlab": {
"backup_cron_job": {
"skip": [
"repositories",
"uploads"
]
}
}
}
Run the backup script with progress messages:
{
"omnibus-gitlab": {
"backup_cron_job": {
"silent": false
}
}
}
Secrets
Starting with version 0.3.0, this cookbook supports reading secrets from Chef Vault or Encrypted Data Bags.
Chef Vault
To get the cookbook to read a Chef Vault item, you need to specify chef_vault
attribute with the name of the Vault.
Eg. In a role "gitlab-example-com" we can read secrets from Vault named gitlab-example-com
:
{ "name": "gitlab-example-com", "default_attributes": { "omnibus-gitlab": { "chef_vault": "gitlab-example-com", "package": { "repo": "gitlab/gitlab-ce", "version": "7.14.1-ce.0" }, "gitlab_rb": { "external_url": "http://gitlab.example.com" "gitlab_rb": { "gitlab-rails": { "secret_token": "Read from Vault." } } } } } }
Chef Vault item will look similar to:
{ "id": "_default", "omnibus-gitlab": { "gitlab_rb": { "gitlab-rails": { "secret_token": "12334qwerty" } } } }
Encrypted Data Bag
To get the cookbook to read an Encrypted Data Bag item, you need to specify data_bag
attribute with the name of the data bag. As a prerequisite, node needs to have the encrypted_data_bag_secret
in /etc/chef/
directory in order to be able to decrypt the secrets.
Eg. In a role "gitlab-example-com" we can read secrets from Encrypted Data Bag named gitlab-example-com
:
{ "name": "gitlab-example-com", "default_attributes": { "omnibus-gitlab": { "data_bag": "gitlab-example-com", "package": { "repo": "gitlab/gitlab-ce", "version": "7.14.1-ce.0" }, "gitlab_rb": { "external_url": "http://gitlab.example.com" "gitlab_rb": { "gitlab-rails": { "secret_token": "Read from Data Bag." } } } } } }
Encrypted data bag item will look similar to:
{ "id": "_default", "omnibus-gitlab": { "gitlab_rb": { "gitlab-rails": { "secret_token": "12334qwerty" } } } }
License and Authors
Author:: Marin Jankovski (marin@gitlab.com)
Author:: Jacob Vosmaer (jacob@gitlab.com)
Dependent cookbooks
gitlab_secrets >= 0.0.0 |
apt >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Collaborator Number Metric
0.5.4 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
0.5.4 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Cookstyle Metric
0.5.4 failed this metric
Chef/Deprecations/FoodcriticTesting: The Foodcritic cookbook linter has been deprecated and should no longer be used for validating cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_deprecations_foodcritictesting): omnibus-gitlab/Gemfile: 10
Chef/Deprecations/FoodcriticTesting: The Foodcritic cookbook linter has been deprecated and should no longer be used for validating cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_deprecations_foodcritictesting): omnibus-gitlab/Rakefile: 3
Chef/Modernize/ExecuteAptUpdate: Use the apt_update resource instead of the execute resource to run an apt-get update package cache update (https://docs.chef.io/workstation/cookstyle/chef_modernize_executeaptupdate): omnibus-gitlab/recipes/default.rb: 54
Chef/Modernize/IncludingAptDefaultRecipe: Do not include the Apt default recipe to update package cache. Instead use the apt_update resource, which is built into Chef Infra Client 12.7 and later. (https://docs.chef.io/workstation/cookstyle/chef_modernize_includingaptdefaultrecipe): omnibus-gitlab/recipes/default.rb: 44
Chef/Modernize/LegacyBerksfileSource: Do not use legacy Berksfile community sources. Use Chef Supermarket instead. (https://docs.chef.io/workstation/cookstyle/chef_modernize_legacyberksfilesource): omnibus-gitlab/Berksfile: 1
Chef/RedundantCode/LongDescriptionMetadata: The long_description metadata.rb method is not used and is unnecessary in cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_longdescriptionmetadata): omnibus-gitlab/metadata.rb: 6
Run with Cookstyle Version 7.32.1 with cops Chef/Deprecations,Chef/Correctness,Chef/Sharing,Chef/RedundantCode,Chef/Modernize,Chef/Security,InSpec/Deprecations
No Binaries Metric
0.5.4 passed this metric
Testing File Metric
0.5.4 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.5.4 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.5.4 failed this metric
0.5.4 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Cookstyle Metric
0.5.4 failed this metric
Chef/Deprecations/FoodcriticTesting: The Foodcritic cookbook linter has been deprecated and should no longer be used for validating cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_deprecations_foodcritictesting): omnibus-gitlab/Gemfile: 10
Chef/Deprecations/FoodcriticTesting: The Foodcritic cookbook linter has been deprecated and should no longer be used for validating cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_deprecations_foodcritictesting): omnibus-gitlab/Rakefile: 3
Chef/Modernize/ExecuteAptUpdate: Use the apt_update resource instead of the execute resource to run an apt-get update package cache update (https://docs.chef.io/workstation/cookstyle/chef_modernize_executeaptupdate): omnibus-gitlab/recipes/default.rb: 54
Chef/Modernize/IncludingAptDefaultRecipe: Do not include the Apt default recipe to update package cache. Instead use the apt_update resource, which is built into Chef Infra Client 12.7 and later. (https://docs.chef.io/workstation/cookstyle/chef_modernize_includingaptdefaultrecipe): omnibus-gitlab/recipes/default.rb: 44
Chef/Modernize/LegacyBerksfileSource: Do not use legacy Berksfile community sources. Use Chef Supermarket instead. (https://docs.chef.io/workstation/cookstyle/chef_modernize_legacyberksfilesource): omnibus-gitlab/Berksfile: 1
Chef/RedundantCode/LongDescriptionMetadata: The long_description metadata.rb method is not used and is unnecessary in cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_longdescriptionmetadata): omnibus-gitlab/metadata.rb: 6
Run with Cookstyle Version 7.32.1 with cops Chef/Deprecations,Chef/Correctness,Chef/Sharing,Chef/RedundantCode,Chef/Modernize,Chef/Security,InSpec/Deprecations
No Binaries Metric
0.5.4 passed this metric
Testing File Metric
0.5.4 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.5.4 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.5.4 failed this metric
Chef/Deprecations/FoodcriticTesting: The Foodcritic cookbook linter has been deprecated and should no longer be used for validating cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_deprecations_foodcritictesting): omnibus-gitlab/Rakefile: 3
Chef/Modernize/ExecuteAptUpdate: Use the apt_update resource instead of the execute resource to run an apt-get update package cache update (https://docs.chef.io/workstation/cookstyle/chef_modernize_executeaptupdate): omnibus-gitlab/recipes/default.rb: 54
Chef/Modernize/IncludingAptDefaultRecipe: Do not include the Apt default recipe to update package cache. Instead use the apt_update resource, which is built into Chef Infra Client 12.7 and later. (https://docs.chef.io/workstation/cookstyle/chef_modernize_includingaptdefaultrecipe): omnibus-gitlab/recipes/default.rb: 44
Chef/Modernize/LegacyBerksfileSource: Do not use legacy Berksfile community sources. Use Chef Supermarket instead. (https://docs.chef.io/workstation/cookstyle/chef_modernize_legacyberksfilesource): omnibus-gitlab/Berksfile: 1
Chef/RedundantCode/LongDescriptionMetadata: The long_description metadata.rb method is not used and is unnecessary in cookbooks. (https://docs.chef.io/workstation/cookstyle/chef_redundantcode_longdescriptionmetadata): omnibus-gitlab/metadata.rb: 6
Run with Cookstyle Version 7.32.1 with cops Chef/Deprecations,Chef/Correctness,Chef/Sharing,Chef/RedundantCode,Chef/Modernize,Chef/Security,InSpec/Deprecations
0.5.4 passed this metric
Testing File Metric
0.5.4 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.5.4 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.5.4 failed this metric
0.5.4 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number