Commit 7693d12f authored by Marin Jankovski's avatar Marin Jankovski

Merge branch 'release/7.2' into 'master'

Release 7.2

See merge request !107
parents 7975f4f0 3f530612
......@@ -3,8 +3,8 @@ GitLab Cookbook
Chef cookbook with recipes to install GitLab and its dependencies:
* GitLab: 7.1
* GitLab Shell: 1.9.6
* GitLab: 7.2
* GitLab Shell: 1.9.7
* Ruby: 2.1.2
* Redis: 2.6.13
* Git: 2.0.0
......
......@@ -27,6 +27,7 @@ default['gitlab']['home'] = "/home/git"
# GitLab hq
default['gitlab']['path'] = "#{node['gitlab']['home']}/gitlab" # Do not change this attribute in production unless you know what you do since some code from the GitLab repo such as init.d assume this path.
default['gitlab']['satellites_path'] = "#{node['gitlab']['home']}/gitlab-satellites"
default['gitlab']['satellites_timeout'] = 30
# GitLab shell
default['gitlab']['shell_repository'] = "https://github.com/gitlabhq/gitlab-shell.git"
......@@ -54,11 +55,11 @@ if node['gitlab']['env'] == "development"
default['gitlab']['shell_revision'] = "master"
else
default['gitlab']['environments'] = %w{production}
default['gitlab']['revision'] = "7-1-stable" # Must be branch, otherwise GitLab update will run on each chef run
default['gitlab']['revision'] = "7-2-stable" # Must be branch, otherwise GitLab update will run on each chef run
default['gitlab']['url'] = "http://localhost:80/"
default['gitlab']['port'] = "80"
default['gitlab']['ssh_port'] = "22"
default['gitlab']['shell_revision'] = "v1.9.6"
default['gitlab']['shell_revision'] = "v1.9.7"
end
# GitLab configuration
......@@ -68,9 +69,15 @@ default['gitlab']['email_from'] = "gitlab@localhost"
default['gitlab']['support_email'] = "support@localhost"
default['gitlab']['max_size'] = "20971520" # 20.megabytes
default['gitlab']['git_timeout'] = 10
default['gitlab']['signup_enabled'] = false
default['gitlab']['signin_enabled'] = true
default['gitlab']['projects_limit'] = 10
default['gitlab']['user_can_create_group'] = true
default['gitlab']['user_can_change_username'] = true
default['gitlab']['default_theme'] = 2
default['gitlab']['standard_signin_enabled'] = true
default['gitlab']['repository_downloads_path'] = "tmp/repositories"
default['gitlab']['oauth_enabled'] = false
default['gitlab']['oauth_block_auto_created_users'] = true
default['gitlab']['oauth_allow_single_sign_on'] = false
......@@ -92,13 +99,20 @@ default['gitlab']['ldap']['allow_username_or_email_login'] = true
# LDAP Filter Example: Recursive query of group membership
# default['gitlab']['ldap']['user_filter'] = '(&(objectcategory=person)(objectclass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=Gitlab Users,OU=USA,DC=int,DC=contoso,DC=com))'
default['gitlab']['ldap']['user_filter'] = ''
# Group base example: default['gitlab']['ldap']['group_base'] = 'ou=Groups,dc=gitlab,dc=example'
default['gitlab']['ldap']['group_base'] = ''
# Admin group example: default['gitlab']['ldap']['admin_group'] = 'GLAdmins'
default['gitlab']['ldap']['admin_group'] = ''
# Synch ssh key example: default['gitlab']['ldap']['sync_ssh_keys'] = 'sshpublickey'
default['gitlab']['ldap']['sync_ssh_keys'] = false
default['gitlab']['gravatar'] = true
default['gitlab']['gravatar_plain_url'] = "http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon"
default['gitlab']['gravatar_ssl_url'] = "https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon"
default['gitlab']['default_projects_features']['issues'] = true
default['gitlab']['default_projects_features']['merge_requests'] = true
default['gitlab']['default_projects_features']['wiki'] = true
default['gitlab']['default_projects_features']['wall'] = false
default['gitlab']['default_projects_features']['snippets'] = false
default['gitlab']['default_projects_features']['visibility_level'] = "private"
......
......@@ -40,6 +40,5 @@ Provision a GitLab instance by using the cookbook in supported environments:
1. Ubuntu 12.04
1. CentOS 6.5
1. AWS OpsWorks
After provisioning, login to each instance and *at least* create a repository and push to GitLab.
......@@ -4,7 +4,7 @@ maintainer_email 'marin@gitlab.com'
license 'MIT'
description 'Installs/Configures GitLab'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '0.7.1'
version '0.7.2'
recipe "gitlab::default", "Installation"
......
......@@ -17,12 +17,19 @@ template File.join(gitlab['path'], 'config', 'gitlab.yml') do
:email_from => gitlab['email_from'],
:support_email => gitlab['support_email'],
:max_size => gitlab['max_size'],
:git_timeout => gitlab['git_timeout'],
:satellites_path => gitlab['satellites_path'],
:satellites_timeout => gitlab['satellites_timeout'],
:repos_path => gitlab['repos_path'],
:shell_path => gitlab['shell_path'],
:signup_enabled => gitlab['signup_enabled'],
:signin_enabled => gitlab['signin_enabled'],
:projects_limit => gitlab['projects_limit'],
:user_can_create_group => gitlab['user_can_create_group'],
:user_can_change_username => gitlab['user_can_change_username'],
:default_theme => gitlab['default_theme'],
:standard_signin_enabled => gitlab['standard_signin_enabled'],
:repository_downloads_path => gitlab['repository_downloads_path'],
:oauth_enabled => gitlab['oauth_enabled'],
:oauth_block_auto_created_users => gitlab['oauth_block_auto_created_users'],
:oauth_allow_single_sign_on => gitlab['oauth_allow_single_sign_on'],
......@@ -31,6 +38,8 @@ template File.join(gitlab['path'], 'config', 'gitlab.yml') do
:sign_in_text => gitlab['extra']['sign_in_text'],
:default_projects_features => gitlab['default_projects_features'],
:gravatar => gitlab['gravatar'],
:gravatar_plain_url => gitlab['gravatar_plain_url'],
:gravatar_ssl_url => gitlab['gravatar_ssl_url'],
:ldap_config => gitlab['ldap'],
:ssh_port => gitlab['ssh_port'],
:backup => gitlab['backup'],
......
......@@ -15,7 +15,7 @@ describe "gitlab::clone" do
it "clones the gitlab repository" do
expect(chef_run).to sync_git('/home/git/gitlab').with(
repository: 'https://github.com/gitlabhq/gitlabhq.git',
revision: '7-1-stable',
revision: '7-2-stable',
user: 'git',
group: 'git'
)
......@@ -49,7 +49,7 @@ describe "gitlab::clone" do
it "clones the gitlab repository" do
expect(chef_run).to sync_git('/data/git/gitlab').with(
repository: 'https://github.com/gitlabhq/gitlabhq.git',
revision: '7-1-stable',
revision: '7-2-stable',
user: 'git',
group: 'git'
)
......@@ -69,7 +69,7 @@ describe "gitlab::clone" do
it "clones the gitlab repository" do
expect(chef_run).to sync_git('/home/git/gitlab').with(
repository: 'https://github.com/gitlabhq/gitlabhq.git',
revision: '7-1-stable',
revision: '7-2-stable',
user: 'git',
group: 'git'
)
......@@ -103,7 +103,7 @@ describe "gitlab::clone" do
it "clones the gitlab repository" do
expect(chef_run).to sync_git('/data/git/gitlab').with(
repository: 'https://github.com/gitlabhq/gitlabhq.git',
revision: '7-1-stable',
revision: '7-2-stable',
user: 'git',
group: 'git'
)
......
......@@ -15,7 +15,7 @@ describe "gitlab::gitlab_shell_clone" do
it "clones the gitlab-shell repository" do
expect(chef_run).to sync_git('/home/git/gitlab-shell').with(
repository: 'https://github.com/gitlabhq/gitlab-shell.git',
revision: "v1.9.6",
revision: "v1.9.7",
user: 'git',
group: 'git'
)
......@@ -64,7 +64,7 @@ describe "gitlab::gitlab_shell_clone" do
it "clones the gitlab-shell repository" do
expect(chef_run).to sync_git('/home/git/gitlab-shell').with(
repository: 'https://github.com/gitlabhq/gitlab-shell.git',
revision: "v1.9.6",
revision: "v1.9.7",
user: 'git',
group: 'git'
)
......
......@@ -6,7 +6,7 @@ describe "gitlab::gitlab_shell_install" do
describe "under ubuntu" do
["12.04", "10.04"].each do |version|
let(:chef_run) do
let(:chef_run) do
runner = ChefSpec::Runner.new(platform: "ubuntu", version: version)
runner.node.set['gitlab']['env'] = "production"
runner.converge("gitlab::gitlab_shell_install")
......@@ -25,7 +25,7 @@ describe "gitlab::gitlab_shell_install" do
redis_port: "6379",
namespace: "resque:gitlab",
self_signed_cert: false,
max_size: "5242880"
max_size: "20971520"
}
)
end
......@@ -79,7 +79,7 @@ describe "gitlab::gitlab_shell_install" do
redis_port: "6379",
namespace: "resque:gitlab",
self_signed_cert: false,
max_size: "5242880"
max_size: "20971520"
}
)
end
......@@ -101,7 +101,7 @@ describe "gitlab::gitlab_shell_install" do
describe "under centos" do
["5.8", "6.4"].each do |version|
let(:chef_run) do
let(:chef_run) do
runner = ChefSpec::Runner.new(platform: "centos", version: version)
runner.node.set['gitlab']['env'] = "production"
runner.converge("gitlab::gitlab_shell_install")
......@@ -120,7 +120,7 @@ describe "gitlab::gitlab_shell_install" do
redis_port: "6379",
namespace: "resque:gitlab",
self_signed_cert: false,
max_size: "5242880"
max_size: "20971520"
}
)
end
......@@ -174,7 +174,7 @@ describe "gitlab::gitlab_shell_install" do
redis_port: "6379",
namespace: "resque:gitlab",
self_signed_cert: false,
max_size: "5242880"
max_size: "20971520"
}
)
end
......
......@@ -21,13 +21,20 @@ describe "gitlab::install" do
user: 'git',
email_from: 'gitlab@localhost',
support_email: 'support@localhost',
max_size: '5242880',
max_size: '20971520',
git_timeout: 10,
satellites_path: '/home/git/gitlab-satellites',
satellites_timeout: 30,
repos_path: '/home/git/repositories',
shell_path: '/home/git/gitlab-shell',
signup_enabled: false,
signin_enabled: true,
projects_limit: 10,
user_can_create_group: true,
user_can_change_username: true,
default_theme: 2,
standard_signin_enabled: true,
repository_downloads_path: 'tmp/repositories',
oauth_enabled: false,
oauth_block_auto_created_users: true,
oauth_allow_single_sign_on: false,
......@@ -38,23 +45,28 @@ describe "gitlab::install" do
default_projects_features: {
"issues"=>true,
"merge_requests"=>true,
"wiki"=>true, "wall"=>false,
"wiki"=>true,
"snippets"=>false,
"visibility_level"=>"private"
},
gravatar: true,
ldap_config: {
"enabled"=>false,
"host"=>"_your_ldap_server",
"base"=>"_the_base_where_you_search_for_users",
"port"=>636,
"uid"=>"sAMAccountName",
"method"=>"ssl",
"bind_dn"=>"_the_full_dn_of_the_user_you_will_bind_with",
"password"=>"_the_password_of_the_bind_user",
"allow_username_or_email_login"=>true,
"user_filter"=>""
},
gravatar: true,
gravatar_plain_url: "http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon",
gravatar_ssl_url: "https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon",
ldap_config: {
"enabled"=>false,
"host"=>"_your_ldap_server",
"base"=>"_the_base_where_you_search_for_users",
"port"=>636,
"uid"=>"sAMAccountName",
"method"=>"ssl",
"bind_dn"=>"_the_full_dn_of_the_user_you_will_bind_with",
"password"=>"_the_password_of_the_bind_user",
"allow_username_or_email_login"=>true,
"user_filter"=>"",
"group_base"=>"",
"admin_group"=>"",
"sync_ssh_keys"=>false
},
backup: {
"cron"=>{
"action"=>:create,
......@@ -445,13 +457,20 @@ describe "gitlab::install" do
user: 'git',
email_from: 'gitlab@localhost',
support_email: 'support@localhost',
max_size: '5242880',
max_size: '20971520',
git_timeout: 10,
satellites_path: '/home/git/gitlab-satellites',
satellites_timeout: 30,
repos_path: '/home/git/repositories',
shell_path: '/home/git/gitlab-shell',
signup_enabled: false,
signin_enabled: true,
projects_limit: 10,
user_can_create_group: true,
user_can_change_username: true,
default_theme: 2,
standard_signin_enabled: true,
repository_downloads_path: 'tmp/repositories',
oauth_enabled: false,
oauth_block_auto_created_users: true,
oauth_allow_single_sign_on: false,
......@@ -462,23 +481,28 @@ describe "gitlab::install" do
default_projects_features: {
"issues"=>true,
"merge_requests"=>true,
"wiki"=>true, "wall"=>false,
"wiki"=>true,
"snippets"=>false,
"visibility_level"=>"private"
},
gravatar: true,
ldap_config: {
"enabled"=>false,
"host"=>"_your_ldap_server",
"base"=>"_the_base_where_you_search_for_users",
"port"=>636,
"uid"=>"sAMAccountName",
"method"=>"ssl",
"bind_dn"=>"_the_full_dn_of_the_user_you_will_bind_with",
"password"=>"_the_password_of_the_bind_user",
"allow_username_or_email_login"=>true,
"user_filter"=>""
},
gravatar: true,
gravatar_plain_url: "http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon",
gravatar_ssl_url: "https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon",
ldap_config: {
"enabled"=>false,
"host"=>"_your_ldap_server",
"base"=>"_the_base_where_you_search_for_users",
"port"=>636,
"uid"=>"sAMAccountName",
"method"=>"ssl",
"bind_dn"=>"_the_full_dn_of_the_user_you_will_bind_with",
"password"=>"_the_password_of_the_bind_user",
"allow_username_or_email_login"=>true,
"user_filter"=>"",
"group_base"=>"",
"admin_group"=>"",
"sync_ssh_keys"=>false
},
backup: {
"cron"=>{
"action"=>:create,
......
......@@ -35,26 +35,29 @@ production: &base
# Email address used in the "From" field in mails sent by GitLab
email_from: <%= @email_from %>
# Email server smtp settings are in [a separate file](initializers/smtp_settings.rb.sample).
## User settings
default_projects_limit: <%= @projects_limit %>
# default_can_create_group: false # default: true
# username_changing_enabled: false # default: true - User can change her username/namespace
default_can_create_group: <%= @user_can_create_group %> # default: true
username_changing_enabled: <%= @user_can_change_username %> # default: true - User can change her username/namespace
## Default theme
## BASIC = 1
## MARS = 2
## MODERN = 3
## GRAY = 4
## COLOR = 5
# default_theme: 2 # default: 2
default_theme: <%= @default_theme %> # default: 2
## Users management
# default: false - Account passwords are not sent via the email if signup is enabled.
## Users can create accounts
# This also allows normal users to sign up for accounts themselves
# default: false - By default GitLab administrators must create all new accounts
signup_enabled: <%= @signup_enabled %>
#
# default: true - If set to false, standard login form won't be shown on the sign-in page
# signin_enabled: false
## Standard login settings
# The standard login can be disabled to force login via LDAP
# default: true - If set to false, standard login form won't be shown on the sign-in page
signin_enabled: <%= @standard_signin_enabled %>
# Restrict setting visibility levels for non-admin users.
# The default is to allow all levels.
......@@ -64,6 +67,7 @@ production: &base
# If a commit message matches this regular expression, all issues referenced from the matched text will be closed.
# This happens when the commit is pushed or merged into the default branch of a project.
# When not specified the default issue_closing_pattern as specified below will be used.
# Tip: you can test your closing pattern at http://rubular.com
# issue_closing_pattern: '([Cc]lose[sd]|[Ff]ixe[sd]) #(\d+)'
## Default project features settings
......@@ -71,14 +75,13 @@ production: &base
issues: <%= @default_projects_features['issues'] %>
merge_requests: <%= @default_projects_features['merge_requests'] %>
wiki: <%= @default_projects_features['wiki'] %>
wall: <%= @default_projects_features['wall'] %>
snippets: <%= @default_projects_features['snippets'] %>
visibility_level: "<%= @default_projects_features['visibility_level'] %>" # can be "private" | "internal" | "public"
## Repository downloads directory
# When a user clicks e.g. 'Download zip' on a project, a temporary zip file is created in the following directory.
# The default is 'tmp/repositories' relative to the root of the Rails app.
# repository_downloads_path: tmp/repositories
repository_downloads_path: <%= @repository_downloads_path %> tmp/repositories
## External issues trackers
issues_tracker:
......@@ -112,8 +115,9 @@ production: &base
## Gravatar
gravatar:
enabled: <%= @gravatar %> # Use user avatar image from Gravatar.com (default: true)
# plain_url: "http://..." # default: http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=mm
# ssl_url: "https://..." # default: https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=mm
# gravatar urls: possible placeholders: %{hash} %{size} %{email}
plain_url: <%= @gravatar_plain_url %> # default: http://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon
ssl_url: <%= @gravatar_ssl_url %> # default: https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon
#
# 2. Auth settings
......@@ -154,6 +158,24 @@ production: &base
#
user_filter: '<%= @ldap_config["user_filter"] %>'
# Base where we can search for groups
#
# Ex. ou=Groups,dc=gitlab,dc=example
#
group_base: <%= @ldap_config['group_base'] %>
# LDAP group of users who should be admins in GitLab
#
# Ex. GLAdmins
#
admin_group: <%= @ldap_config['admin_group'] %>
# Name of attribute which holds a ssh public key of the user object.
# If false or nil, SSH key syncronisation will be disabled.
#
# Ex. sshpublickey
#
sync_ssh_keys: <%= @ldap_config['sync_ssh_keys'] %>
## OmniAuth settings
omniauth:
......@@ -170,7 +192,7 @@ production: &base
## Auth providers
# Uncomment the following lines and fill in the data of the auth provider you want to use
# If your favorite auth provider is not listed you can use others:
# see https://github.com/gitlabhq/gitlab-public-wiki/wiki/Working-custom-omniauth-provider-configurations
# see https://github.com/gitlabhq/gitlab-public-wiki/wiki/Custom-omniauth-provider-configurations
# The 'app_id' and 'app_secret' parameters are always passed as the first two
# arguments, followed by optional 'args' which can be either a hash or an array.
# Documentation for this is available at http://doc.gitlab.com/ce/integration/omniauth.html
......@@ -187,6 +209,7 @@ production: &base
satellites:
# Relative paths are relative to Rails.root (default: tmp/repo_satellites/)
path: <%= @satellites_path %>/
timeout: <%= @satellites_timeout %>
## Backup settings
backup:
......@@ -218,7 +241,7 @@ production: &base
# This value can be increased if you have very large commits
max_size: <%= @max_size %>
# Git timeout to read a commit, in seconds
timeout: 10
timeout: <%= @git_timeout %>
#
# 4. Extra customization
......@@ -246,6 +269,17 @@ test:
gitlab:
host: localhost
port: 80
# When you run tests we clone and setup gitlab-shell
# In order to setup it correctly you need to specify
# your system username you use to run GitLab
# user: YOUR_USERNAME
satellites:
path: tmp/tests/gitlab-satellites/
gitlab_shell:
path: tmp/tests/gitlab-shell/
repos_path: tmp/tests/repositories/
hooks_path: tmp/tests/gitlab-shell/hooks/
issues_tracker:
redmine:
title: "Redmine"
......
......@@ -2,6 +2,10 @@
user: <%= @user %>
# Url to gitlab instance. Used for api calls. Should end with a slash.
# Default: http://localhost:8080/
# You only have to change the default if you have configured Unicorn
# to listen on a custom port, or if you have configured Unicorn to
# only listen on a Unix domain socket.
gitlab_url: <%= @url %>
http_settings:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment