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

git (84) Versions 10.0.0

Installs git and/or sets up a Git server daemon

Policyfile
Berkshelf
Knife
cookbook 'git', '= 10.0.0', :supermarket
cookbook 'git', '= 10.0.0'
knife supermarket install git
knife supermarket download git
README
Dependencies
Changelog
Quality 100%

Git Cookbook

Build Status Cookbook Version

Installs git_client from package or source. Optionally sets up a git service under xinetd.

Scope

This cookbook is concerned with the Git SCM utility. It does not address ecosystem tooling or related projects.

Requirements

Platforms

The following platforms have been tested with Test Kitchen:

|---------------+-------|
| centos-6      | X     |
|---------------+-------|
| centos-7      | X     |
|---------------+-------|
| centos-8      | X     |
|---------------+-------|
| fedora        | X     |
|---------------+-------|
| debian-9      | X     |
|---------------+-------|
| debian-10     | X     |
|---------------+-------|
| ubuntu-16.04  | X     |
|---------------+-------|
| ubuntu-18.04  | X     |
|---------------+-------|
| openSUSE Leap | X     |
|---------------+-------|

Chef

  • Chef 14+

Cookbooks

  • none

Usage

Add git::default, git::source or git::windows to your run_list OR add depends 'git', '~> 4.3' to your cookbook's metadata.rb. include_recipe one of the recipes from your cookbook OR use the git_client resource directly, the same way you'd use core Chef resources (file, template, directory, package, etc).

Resources Overview

  • git_client: Manages a Git client installation on a machine. Acts as a singleton when using the (default) package provider. Source provider available as well.
  • git_service: Sets up a Git service via xinetd. WARNING: This is insecure and will probably be removed in the future
  • git_config: Sets up Git configuration on a node.

git_client

The git_client resource manages the installation of a Git client on a machine.

Note: on macOS systems homebrew must first be installed on the system before running this resource. Prior to version 9.0 of this cookbook homebrew was automatically installed.

Example

git_client 'default' do
  action :install
end

Example of source install

git_client 'source' do
  provider Chef::Provider::GitClient::Source
  source_version '2.14.2'
  source_checksum 'a03a12331d4f9b0f71733db9f47e1232d4ddce00e7f2a6e20f6ec9a19ce5ff61'
  action :install
end

git_config

The git_config resource manages the configuration of Git client on a machine.

Example

git_config 'url.https://github.com/.insteadOf' do
  value 'git://github.com/'
  scope 'system'
  options '--add'
end

Properties

Currently, there are distinct sets of resource properties, used by the providers for source, package, macos, and windows.

used by linux package providers

  • package_name - Package name to install on Linux machines. Defaults to a calculated value based on platform.
  • package_version - Defaults to nil.
  • package_action - Defaults to :install

used by source providers

  • source_prefix - Defaults to '/usr/local'
  • source_url - Defaults to a calculated URL based on source_version
  • source_version - Defaults to 2.8.1
  • source_use_pcre - configure option for build. Defaults to false
  • source_checksum - Defaults to a known value for the 2.8.1 source tarball

used by the Windows package providers

  • windows_display_name - Windows display name
  • windows_package_url - Defaults to the Internet
  • windows_package_checksum - Defaults to the value for 2.8.1

Recipes

This cookbook ships with ready to use, attribute driven recipes that utilize the git_client and git_service resources. As of cookbook 4.x, they utilize the same attributes layout scheme from the 3.x. Due to some overlap, it is currently impossible to simultaneously install the Git client as a package and from source by using the "manipulate a the node attributes and run a recipe" technique. If you need both, you'll need to utilize the git_client resource in a recipe.

Attributes

Windows

  • node['git']['version'] - git version to install
  • node['git']['url'] - URL to git package
  • node['git']['checksum'] - package SHA256 checksum
  • node['git']['display_name'] - windows_package resource Display Name (makes the package install idempotent)

Linux

  • node['git']['prefix'] - git install directory
  • node['git']['version'] - git version to install
  • node['git']['url'] - URL to git tarball
  • node['git']['checksum'] - tarball SHA256 checksum
  • node['git']['use_pcre'] - if true, builds git with PCRE enabled

Maintainers

This cookbook is maintained by Chef's Community Cookbook Engineering team. Our goal is to improve cookbook quality and to aid the community in contributing to cookbooks. To learn more about our team, process, and design goals see our team documentation. To learn more about contributing to cookbooks like this see our contributing documentation, or if you have general questions about this cookbook come chat with us in #cookbok-engineering on the Chef Community Slack

License

Copyright: 2009-2017, Chef Software, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

amoeba_basenode Applicable Versions
apache2-git-site Applicable Versions
apache2_odin_auth Applicable Versions
appbox Applicable Versions
application_git Applicable Versions
askbot Applicable Versions
babushka Applicable Versions
baggage Applicable Versions
bamboo Applicable Versions
baragon Applicable Versions
base_image Applicable Versions
baseserver Applicable Versions
bash-it Applicable Versions
berkshelf-api Applicable Versions
better-chef-rundeck Applicable Versions
bitbucket_server Applicable Versions
buildkite Applicable Versions
burp Applicable Versions
cabot Applicable Versions
camo Applicable Versions
carbon Applicable Versions
cdo Applicable Versions
cgit Applicable Versions
chef-manageiq Applicable Versions
chef-server Applicable Versions
chef-teamcity Applicable Versions
chefdk_bootstrap Applicable Versions
cloudfoundry Applicable Versions
cloudless-box Applicable Versions
cookbook_pusher Applicable Versions
cq-unix-toolkit Applicable Versions
crenv Applicable Versions
cups Applicable Versions
dbench Applicable Versions
dev_env Applicable Versions
devstack Applicable Versions
dfu-util Applicable Versions
diamond Applicable Versions
diamond_lwrp Applicable Versions
diaspora Applicable Versions
docker Applicable Versions
docker-etcd-registrator Applicable Versions
docker_registry Applicable Versions
dokku Applicable Versions
doozer Applicable Versions
ds_opencv Applicable Versions
dynomite Applicable Versions
elastalert Applicable Versions
elite Applicable Versions
elixir Applicable Versions
errbit Applicable Versions
errbit-server Applicable Versions
et_fog Applicable Versions
etcd Applicable Versions
etckeeper Applicable Versions
eulipion-slate Applicable Versions
ffmpeg Applicable Versions
fieri Applicable Versions
fivem Applicable Versions
foreman Applicable Versions
gallery Applicable Versions
gem_specific_install Applicable Versions
gerrit Applicable Versions
ghost Applicable Versions
giraffe Applicable Versions
git-ssh-server Applicable Versions
git_dwk Applicable Versions
git_user Applicable Versions
github-enterprise Applicable Versions
github-users Applicable Versions
github_backup Applicable Versions
gitlab Applicable Versions
gitlab-server Applicable Versions
gitlab-shell Applicable Versions
gitolite-server Applicable Versions
go_chef Applicable Versions
golang Applicable Versions
gpac Applicable Versions
grafana Applicable Versions
graphene Applicable Versions
graphite-influxdb Applicable Versions
graphite_lwrp Applicable Versions
greenscreen Applicable Versions
hem Applicable Versions
homesick Applicable Versions
httplivestreamsegmenter Applicable Versions
hubot Applicable Versions
huginn Applicable Versions
iotop Applicable Versions
iptables_web Applicable Versions
ipxe Applicable Versions
ish Applicable Versions
jenkins-server Applicable Versions
jenkins_build Applicable Versions
jenkins_drupal Applicable Versions
jenkins_utils Applicable Versions
jently Applicable Versions
jenv Applicable Versions
justinaiken_dotfiles Applicable Versions
kibana5-gm Applicable Versions
kibana_lwrp Applicable Versions
libfdk_aac Applicable Versions
libvpx Applicable Versions
lmctfy Applicable Versions
logstash Applicable Versions
logster Applicable Versions
magentostack Applicable Versions
mater Applicable Versions
mcrouter Applicable Versions
metarepo Applicable Versions
modcloth-hubot Applicable Versions
mono Applicable Versions
mono3 Applicable Versions
mono4 Applicable Versions
mozilla-firefox-accounts Applicable Versions
mozilla-firefox-sync Applicable Versions
mozilla-sync Applicable Versions
mplayer Applicable Versions
multichain Applicable Versions
ndenv Applicable Versions
node Applicable Versions
node_build Applicable Versions
nodebrew Applicable Versions
nodenv Applicable Versions
nodestack Applicable Versions
npm_registry Applicable Versions
nvm Applicable Versions
oclint Applicable Versions
oh-my-zsh Applicable Versions
ohmage Applicable Versions
omnibus Applicable Versions
openbazaar Applicable Versions
opencart Applicable Versions
openresty Applicable Versions
opensmtpd Applicable Versions
openstack-mistral Applicable Versions
pa11y Applicable Versions
particle-cli Applicable Versions
pdns Applicable Versions
pentester Applicable Versions
phpcpd Applicable Versions
phpcs Applicable Versions
phpdcd Applicable Versions
phpstack Applicable Versions
phpunit Applicable Versions
pipeline Applicable Versions
pita Applicable Versions
platformstack Applicable Versions
plexconnect Applicable Versions
poise-ruby-build Applicable Versions
pythonstack Applicable Versions
rackops_rolebook Applicable Versions
radiant Applicable Versions
rails_application Applicable Versions
razor Applicable Versions
rbenv Applicable Versions
rbenv-gemset Applicable Versions
riak Applicable Versions
ruby-install Applicable Versions
ruby_build Applicable Versions
s3fs-c Applicable Versions
screen Applicable Versions
sensu Applicable Versions
sickrage Applicable Versions
signalfx Applicable Versions
singularity Applicable Versions
sitecore Applicable Versions
skyline Applicable Versions
sockstat Applicable Versions
stackstorm Applicable Versions
stash Applicable Versions
statsd Applicable Versions
statsd-centos7 Applicable Versions
statsite Applicable Versions
stoplight Applicable Versions
sugar_crm Applicable Versions
sugarcrm Applicable Versions
sugarcrm-ce Applicable Versions
sugarcrm_ce Applicable Versions
supermarket Applicable Versions
symfony Applicable Versions
symfony_project Applicable Versions
tarsnap Applicable Versions
taskwarrior Applicable Versions
teampass Applicable Versions
tig Applicable Versions
uptime Applicable Versions
ut_base Applicable Versions
vagrant-node-simple Applicable Versions
varnishd Applicable Versions
vim-go Applicable Versions
vim_config Applicable Versions
vs_code Applicable Versions
vslinko Applicable Versions
winbox Applicable Versions
x264 Applicable Versions
xbuild Applicable Versions
yajsw Applicable Versions
yasm Applicable Versions
zabbix-ruby-client Applicable Versions
zeromq Applicable Versions
zerovm Applicable Versions

git Cookbook CHANGELOG

This file is used to list changes made in each version of the git cookbook.

10.0.0 (2019-10-16)

  • Add testing for CentOS 8, openSUSE 15, Ubuntu 18.04 in Travis
  • Require Chef Infra Client 14 or later so we can drop the dependency on build-essential
  • Resolve multiple cookstyle warnings

9.0.1 (2018-06-02)

  • Update the platforms we test on
  • Remove extra attr_accessor in config and requires
  • Bump git version to 2.17.1 to resolve CVE

9.0.0 (2018-03-08)

  • Remove the dependency on the homebrew cookbook by not automatically installing homebrew in the git resource on macOS systems. Homebrew needs to be setup before this resource runs and that should probably be the very first thing you do on a macOS system
  • Use the build_essential resource instead of including the default recipe. This requires version 5.0 or later of the build-essential cookbook and allows us to use the build_essential resource that will be built into Chef 14 when that ships
  • Remove extra includes in the resources that weren't necessary
  • Updated testing to include Fedora 27, Ubuntu 18.04, Debian 9, macOS 10.12, and Windows 2016

8.0.1 (2018-02-10)

  • Resolve the new FC118 foodcritic warning
  • Remove the ChefSpec matchers which are auto generated now
  • Resolve FC104 warning

8.0.0 (2017-09-01)

Breaking Changes

  • macOS resource now properly executes and uses homebrew to install git instead of dmg and packages posted to SourceForge
  • Default to Git 2.9.5 now, which properly compiles on Fedora / Amazon Linux

Other Changes

  • Fixed support for Amazon Linux on Chef 13
  • Unified the package setup for source installs which fixes Amazon/Fedora
  • Removed an entirely duplicate service provider
  • Remove unused runit templates
  • Properly fail when we're on an unsupported platform

7.0.0 (2017-09-01)

  • Remove support for RHEL 5 which removes the need for the yum-epel cookbook
  • Move templates out of the default directory now that we require Chef 12
  • Remove support for Ubuntu 10.04
  • Remove the version requirement on mac_os_x in the metadata
  • Move maintainer information to the readme
  • Expand Travis testing

6.1.0 (2017-05-30)

  • Test with Local Delivery and not Rake
  • Remove EOL platforms from the kitchen configs
  • Use a SPDX standard license string
  • Updated default versions documented in README to fix Issue #120.
  • Remove class_eval and require chef 12.7+

6.0.0 (2017-02-14)

  • Fail on deprecations is now enabled so we're fully Chef 13 compatible
  • Define the chefspec matchers properly
  • Remove the legacy platform mappings that fail on Chef 13
  • Improve the test cookbook / integration tests
  • Convert config LWRP to a custom resource and make it fully idempotent
  • Require Chef 12.5 or later

5.0.2 (2017-01-18)

  • Remove arch for the metadata
  • Avoid deprecation warning during testing
  • respond_to?(:chef_version) for < 12.6 compat

5.0.1 (2016-09-15)

  • Clarify we require Chef 12.1 or later

5.0.0 (2016-09-02)

  • Require Chef 12 or later
  • Don't depend on the windows cookbook since windows_package is built into Chef 12
  • Updates for testing

v4.6.0 (2016-07-05)

  • Added support for compiling git on suse
  • Added the ability to pass a new group property to the config provider
  • Documented the git_config provider
  • Added the tar package on RHEL/Fedora for source installs as some minimal installs lack this package
  • Added suse, opensuse, and opensuseleap as supported platforms in the metadata
  • Switched to inspec for testing
  • Switched to cookstyle for Ruby linting
  • Added Travis integration testing of Debian 7/8

v4.5.0 (2016-04-28)

  • Update git versions to 2.8.1

v4.4.1 (2016-03-31)

  • PR #95 support 32 bit and 64 bit installs on windows @smurawski

v4.4.0 (2016-03-23)

  • PR #93 bump to latest git @ksubrama

v4.3.7 (2016-02-03)

  • PR #90 port node[git][server][export_all] to true/false @scalp42
  • PR #89 make attributes more wrapper friendly @scalp42
  • Update testing deps + rubocop fixes
  • README fix @zverulacis

v4.3.6 (2016-01-25)

  • Windows fixes

v4.3.5 (2015-12-15)

  • Fixed installation on Windows nodes
  • Removed the last of the Chef 10 compatibility code
  • Added up to date contributing and testing docs
  • Updated test deps in the Gemfile
  • Removed test kitchen digital ocean config
  • Test with kitchen-docker in Travis CI
  • Removed uncessary windows cookbook entry from the Berksfile
  • Added the chef standard rubocop.yml file and resolved all warnings
  • Added chefignore file
  • Removed bin dir
  • Added maintainers.md and maintainers.toml files
  • Added travis and supermarket version badges to the readme

v4.3.4 (2015-09-06)

  • Fixing package_id on OSX
  • Adding 2.5.1 data for Windows

v4.3.3 (2015-07-27)

  • # 76: Use checksum keyname instead of value in source recipe

v4.3.2 (2015-07-27)

  • Fixing up Windows provider (issue #73)
  • Supporting changes to source_prefix in source provider (#62)

v4.3.1 (2015-07-23)

  • Fixing up osx_dmg_source_url

v4.3.0 (2015-07-20)

  • Removing references to node attributes from provider code
  • Name-spacing of client resource property names
  • Addition of windows recipe
  • Creation of package recipe

v4.2.4 (2015-07-19)

  • Fixing source provider selection bug from 4.2.3

v4.2.3 (2015-07-18)

  • mac_os_x provider mapping
  • various rubocops

v4.2.2 (2015-04-23)

  • Fix up action in Chef::Resource::GitService
  • Adding matchers

v4.2.1 (2015-04-17)

  • Fixing Chef 11 support.
  • Adding provider mapping file

v4.2.0 (2015-04-15)

  • Converting recipes to resources.
  • Keeping recipe interface for backwards compat

v4.1.0 (2014-12-23)

  • Fixing windows package checksums
  • Various test coverage additions

v4.0.2 (2014-04-23)

  • [COOK-4482] - Add FreeBSD support for installing git client

v4.0.0 (2014-03-18)

  • [COOK-4397] Only use_inline_resources on Chef 11

v3.1.0 (2014-03-12)

  • [COOK-4392] - Cleanup git_config LWRP

v3.0.0 (2014-02-28)

[COOK-4387] Add git_config type [COOK-4388] Fix up rubocops [COOK-4390] Add integration tests for default and server suites

v2.10.0 (2014-02-25)

  • [COOK-4146] - wrong dependency in git::source for rhel 6
  • [COOK-3947] - Git cookbook adds itself to the path every run

v2.9.0

Updating to depend on cookbook yum ~> 3 Fixing style to pass rubocop Updating test scaffolding

v2.8.4

fixing metadata version error. locking to 3.0

v2.8.1

Locking yum dependency to '< 3'

v2.8.0

Bug

  • [COOK-3433] - git::server does not correctly set git-daemon's base-path on Debian

v2.7.0

Bug

  • COOK-3624 - Don't restart xinetd on each Chef client run
  • COOK-3482 - Force git to add itself to the current process' PATH

New Feature

  • COOK-3223 - Support Omnios and SmartOS package installs

v2.6.0

Improvement

v2.5.2

Bug

  • [COOK-2813]: Fix bad string interpolation in source recipe

v2.5.0

  • Relax runit version constraint (now depend on 1.0+).

v2.4.0

  • [COOK-2734] - update git versions

v2.3.0

  • [COOK-2385] - update git::server for runit_service resource support

v2.2.0

  • [COOK-2303] - git::server support for RHEL platform_family

v2.1.4

  • [COOK-2110] - initial test-kitchen support (only available in GitHub repository)
  • [COOK-2253] - pin runit dependency

v2.1.2

  • [COOK-2043] - install git on ubuntu 12.04 not git-core

v2.1.0

The repository didn't have pushed commits, and so the following changes from earlier-than-latest versions wouldn't be available on the community site. We're releasing 2.1.0 to correct this.

  • [COOK-1943] - Update to git 1.8.0
  • [COOK-2020] - Add setup option attributes to Git Windows package install

v2.0.0

This version uses platform_family attribute, making the cookbook incompatible with older versions of Chef/Ohai, hence the major version bump.

  • [COOK-1668] - git cookbook fails to run due to bad platform_family call
  • [COOK-1759] - git::source needs additional package for rhel platform_family

v1.1.2

  • [COOK-2020] - Add setup option attributes to Git Windows package install

v1.1.0

  • [COOK-1943] - Update to git 1.8.0

v1.0.2

  • [COOK-1537] - add recipe for source installation

v1.0.0

  • [COOK-1152] - Add support for Mac OS X
  • [COOK-1112] - Add support for Windows

v0.10.0

  • [COOK-853] - Git client installation on CentOS

v0.9.0

  • Current public release

Collaborator Number Metric
            

10.0.0 passed this metric

Contributing File Metric
            

10.0.0 passed this metric

Foodcritic Metric
            

10.0.0 passed this metric

No Binaries Metric
            

10.0.0 passed this metric

Testing File Metric
            

10.0.0 passed this metric

Version Tag Metric
            

10.0.0 passed this metric