Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

omnibus-gitlab (11) Versions 0.5.4

Installs/Configures GitLab using omnibus-gitlab

Policyfile
Berkshelf
Knife
cookbook 'omnibus-gitlab', '~> 0.5.4', :supermarket
cookbook 'omnibus-gitlab', '~> 0.5.4'
knife supermarket install omnibus-gitlab
knife supermarket download omnibus-gitlab
README
Dependencies
Quality 17%

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 to gitlab/gitlab-ce. Use gitlab/gitlab-ee for GitLab Enterprise Edition
  • node['omnibus-gitlab']['package']['name'] defaults to gitlab-ce. Use gitlab-ee for GitLab Enterprise Edition

  • node['omnibus-gitlab']['skip_auto_migrations'] defaults to false. This option will create a file (/etc/gitlab/skip-auto-migrations) which will tell the package not to run gitlab-ctl reconfigure.

  • node['omnibus-gitlab']['run_reconfigure'] defaults to true. This option will tell chef to run gitlab-ctl reconfigure. Setting it to false 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