Skip to content
Snippets Groups Projects
Unverified Commit d393a83f authored by Marin Jankovski's avatar Marin Jankovski
Browse files

Merge branch 'master' of gitlab.com:gitlab-org/omnibus-gitlab

parents 7b1dd8cd 0b41b9ae
No related branches found
No related tags found
Loading
Showing
with 132 additions and 978 deletions
......@@ -115,3 +115,6 @@ go-crond:
consul:
remote: "git@dev.gitlab.org:omnibus-mirror/consul.git"
alternative: "https://gitlab.com/gitlab-org/build/omnibus-mirror/consul.git"
ohai:
remote: "git@dev.gitlab.org:omnibus-mirror/ohai.git"
alternative: "https://gitlab.com/gitlab-org/build/omnibus-mirror/ohai.git"
......@@ -24,7 +24,7 @@ stages:
variables:
BUILDER_IMAGE_REGISTRY: "dev.gitlab.org:5005/cookbooks/gitlab-omnibus-builder"
PUBLIC_BUILDER_IMAGE_REGISTRY: "registry.gitlab.com/gitlab-org/gitlab-omnibus-builder"
BUILDER_IMAGE_REVISION: "0.0.41"
BUILDER_IMAGE_REVISION: "0.0.42"
# The registry to pull the assets image from
ASSET_REGISTRY: "${CI_REGISTRY}"
ASSET_SYNC_EXISTING_REMOTE_FILES: "keep"
......
......@@ -3,6 +3,7 @@ source 'https://rubygems.org'
require_relative "lib/gitlab/version"
omnibus_gem_version = Gitlab::Version.new('omnibus', "gitlab-omnibus-v5.6.12")
ohai_gem_version = Gitlab::Version.new('ohai', '14-8-13-gitlab')
# Note that omnibus is from a fork with additional gitlab changes. You can
# check what they are with the following comparison link:
......@@ -22,8 +23,8 @@ omnibus_gem_version = Gitlab::Version.new('omnibus', "gitlab-omnibus-v5.6.12")
# grep "gem 'install " config/software/*
gem 'omnibus', git: omnibus_gem_version.remote, branch: omnibus_gem_version.print(false)
gem 'chef', '13.6.4'
gem 'ohai'
gem 'chef', '~> 14.13'
gem 'ohai', git: ohai_gem_version.remote, branch: ohai_gem_version.print(false)
gem 'package_cloud'
gem 'rainbow', '~> 2.2' # This is used by gitlab-ctl and the chef formatter
gem 'thor', '0.18.1' # This specific version is required by package_cloud
......
GIT
remote: git@dev.gitlab.org:omnibus-mirror/ohai.git
revision: 60db53ef823748434efad64e2ffbd99ba760c453
branch: 14-8-13-gitlab
specs:
ohai (14.8.13)
chef-config (>= 12.8, < 15)
ffi (~> 1.9)
ffi-yajl (~> 2.2)
ipaddress
mixlib-cli (>= 1.7.0)
mixlib-config (>= 2.0, < 4.0)
mixlib-log (>= 2.0.1, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
plist (~> 3.1)
systemu (~> 2.6.4)
wmi-lite (~> 1.0)
GIT
remote: https://dev.gitlab.org/gitlab/omnibus.git
revision: 8c83c9dffaa433cb6d1456a7662238b7d8010d34
......@@ -19,7 +37,7 @@ GIT
GEM
remote: https://rubygems.org/
specs:
addressable (2.5.2)
addressable (2.6.0)
public_suffix (>= 2.0.2, < 4.0)
ast (2.4.0)
awesome_print (1.8.0)
......@@ -731,26 +749,26 @@ GEM
aws-eventstream (~> 1.0, >= 1.0.2)
builder (3.2.3)
byebug (9.0.5)
chef (13.6.4)
chef (14.13.11)
addressable
bundler (>= 1.10)
chef-config (= 13.6.4)
chef-config (= 14.13.11)
chef-zero (>= 13.0)
diff-lcs (~> 1.2, >= 1.2.4)
erubis (~> 2.7)
ffi (~> 1.9, >= 1.9.25)
ffi-yajl (~> 2.2)
highline (~> 1.6, >= 1.6.9)
iniparse (~> 1.4)
iso8601 (~> 0.9.1)
mixlib-archive (~> 0.4)
mixlib-authentication (~> 1.4)
mixlib-cli (~> 1.7)
mixlib-log (~> 1.3)
mixlib-shellout (~> 2.0)
mixlib-archive (>= 0.4, < 2.0)
mixlib-authentication (~> 2.1)
mixlib-cli (>= 1.7, < 3.0)
mixlib-log (>= 2.0.3, < 4.0)
mixlib-shellout (>= 2.4, < 4.0)
net-sftp (~> 2.1, >= 2.1.2)
net-ssh (>= 2.9, < 5.0)
net-ssh (~> 4.2)
net-ssh-multi (~> 1.2, >= 1.2.1)
ohai (~> 13.0)
ohai (~> 14.0)
plist (~> 3.2)
proxifier (~> 1.0)
rspec-core (~> 3.5)
......@@ -761,17 +779,18 @@ GEM
specinfra (~> 2.10)
syslog-logger (~> 1.6)
uuidtools (~> 2.1.5)
chef-config (13.6.4)
chef-config (14.13.11)
addressable
fuzzyurl
mixlib-config (~> 2.0)
mixlib-shellout (~> 2.0)
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-sugar (3.6.0)
chef-zero (13.1.0)
chef-zero (14.0.12)
ffi-yajl (~> 2.2)
hashie (>= 2.0, < 4.0)
mixlib-log (~> 1.3)
rack (~> 2.0)
mixlib-log (>= 2.0, < 4.0)
rack (~> 2.0, >= 2.0.6)
uuidtools (~> 2.1)
chefspec (7.1.1)
chef (>= 12.14.89)
......@@ -797,7 +816,7 @@ GEM
multipart-post (>= 1.2, < 3)
fauxhai (5.6.0)
net-ssh
ffi (1.9.14)
ffi (1.11.1)
ffi-yajl (2.3.1)
libyajl2 (~> 1.2)
fuzzyurl (0.9.0)
......@@ -822,7 +841,7 @@ GEM
multi_json (~> 1.11)
os (~> 0.9)
signet (~> 0.7)
hashie (3.5.7)
hashie (3.6.0)
highline (1.6.20)
http (4.1.1)
addressable (~> 2.3)
......@@ -838,7 +857,6 @@ GEM
iniparse (1.4.4)
iostruct (0.0.4)
ipaddress (0.8.3)
iso8601 (0.9.1)
jmespath (1.4.0)
json (2.0.2)
json_pure (1.8.1)
......@@ -860,18 +878,19 @@ GEM
mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521)
mini_portile2 (2.3.0)
mixlib-archive (0.4.1)
mixlib-archive (1.0.1)
mixlib-log
mixlib-authentication (1.4.2)
mixlib-cli (1.7.0)
mixlib-config (2.2.5)
mixlib-log (1.7.1)
mixlib-shellout (2.3.2)
mixlib-authentication (2.1.1)
mixlib-cli (2.1.1)
mixlib-config (3.0.1)
tomlrb
mixlib-log (3.0.1)
mixlib-shellout (2.4.4)
mixlib-versioning (1.2.7)
multi_json (1.13.1)
multipart-post (2.0.0)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-scp (2.0.0)
net-ssh (>= 2.6.5, < 6.0.0)
net-sftp (2.1.2)
net-ssh (>= 2.6.5)
net-ssh (4.2.0)
......@@ -884,18 +903,6 @@ GEM
netrc (0.11.0)
nokogiri (1.8.2)
mini_portile2 (~> 2.3.0)
ohai (13.7.1)
chef-config (>= 12.5.0.alpha.1, < 14)
ffi (~> 1.9)
ffi-yajl (~> 2.2)
ipaddress
mixlib-cli
mixlib-config (~> 2.0)
mixlib-log (>= 1.7.1, < 2.0)
mixlib-shellout (~> 2.0)
plist (~> 3.1)
systemu (~> 2.6.4)
wmi-lite (~> 1.0)
omnibus-ctl (0.3.6)
os (0.9.6)
package_cloud (0.3.04)
......@@ -913,15 +920,15 @@ GEM
multipart-post (~> 2.0.0)
progressbar
zhexdump (>= 0.0.2)
plist (3.4.0)
plist (3.5.0)
powerpack (0.1.1)
progressbar (1.10.0)
proxifier (1.0.3)
pry (0.12.2)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
public_suffix (3.0.2)
rack (2.0.4)
public_suffix (3.1.0)
rack (2.0.7)
rainbow (2.2.2)
rake
rake (10.5.0)
......@@ -934,22 +941,22 @@ GEM
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
retriable (3.1.1)
rspec (3.7.0)
rspec-core (~> 3.7.0)
rspec-expectations (~> 3.7.0)
rspec-mocks (~> 3.7.0)
rspec-core (3.7.1)
rspec-support (~> 3.7.0)
rspec-expectations (3.7.0)
rspec (3.8.0)
rspec-core (~> 3.8.0)
rspec-expectations (~> 3.8.0)
rspec-mocks (~> 3.8.0)
rspec-core (3.8.0)
rspec-support (~> 3.8.0)
rspec-expectations (3.8.4)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.7.0)
rspec-its (1.2.0)
rspec-support (~> 3.8.0)
rspec-its (1.3.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.7.0)
rspec-mocks (3.8.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.7.0)
rspec-support (3.7.1)
rspec-support (~> 3.8.0)
rspec-support (3.8.2)
rspec_junit_formatter (0.2.3)
builder (< 4)
rspec-core (>= 2, < 4, != 2.12.0)
......@@ -963,7 +970,7 @@ GEM
rubocop-rspec (1.12.0)
rubocop (>= 0.42.0)
ruby-progressbar (1.9.0)
serverspec (2.41.3)
serverspec (2.41.4)
multi_json
rspec (~> 3.0)
rspec-its
......@@ -974,23 +981,24 @@ GEM
faraday (~> 0.9)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
specinfra (2.73.2)
specinfra (2.78.0)
net-scp
net-ssh (>= 2.7, < 5.0)
net-telnet
net-ssh (>= 2.7)
net-telnet (= 0.1.1)
sfl
syslog-logger (1.6.8)
systemu (2.6.5)
thor (0.18.1)
toml-rb (1.1.2)
citrus (~> 3.0, > 3.0)
tomlrb (1.2.8)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.5)
unicode-display_width (1.4.0)
uuidtools (2.1.5)
wmi-lite (1.0.0)
wmi-lite (1.0.2)
zhexdump (0.0.2)
PLATFORMS
......@@ -999,7 +1007,7 @@ PLATFORMS
DEPENDENCIES
aws-sdk
byebug
chef (= 13.6.4)
chef (~> 14.13)
chefspec
docker-api
fantaskspec
......@@ -1007,7 +1015,7 @@ DEPENDENCIES
http
json
knapsack
ohai
ohai!
omnibus!
omnibus-ctl (= 0.3.6)
package_cloud
......@@ -1021,4 +1029,4 @@ DEPENDENCIES
thor (= 0.18.1)
BUNDLED WITH
1.17.1
1.17.2
---
title: Bump Chef related libraries to 14.x
merge_request: 3344
author:
type: other
---
title: Properly check whether postgres is enabled when doing pg-ugprade
merge_request: 3381
author:
type: fixed
---
title: Use Postgresql 10.7 instead of 10.7.0
merge_request: 3387
author: Takuya Noguchi
type: other
---
title: Fix slow pushes for repositories using object deduplication
merge_request: 3364
author:
type: performance
---
title: Add worker configuration for pages domain ssl renewal through Let's Encrypt
merge_request: 3355
author:
type: added
This diff is collapsed.
......@@ -17,7 +17,7 @@
name 'chef-gem'
# The version here should be in agreement with /Gemfile.lock so that our rspec
# testing stays consistent with the package contents.
default_version '13.6.4'
default_version '14.13.11'
license 'Apache-2.0'
license_file 'LICENSE'
......@@ -30,19 +30,11 @@ dependency 'libffi'
dependency 'rb-readline'
build do
patch source: "license/#{version}/add-license-file.patch"
patch source: "license/add-license-file.patch"
env = with_standard_compiler_flags(with_embedded_path)
gem 'install chef' \
" --version '#{version}'" \
" --bindir '#{install_dir}/embedded/bin'" \
' --no-document', env: env
# Ruby 2.6 deprecates Net::HTTPServerException in favor of Net::HTTPClientException.
# To avoid warnings, we generate a patch via:
#
# git grep --name-only HTTPServerException | xargs -I {} sed -i -e "s/HTTPServerException/HTTPClientException/g" {}
#
# This can go away once Chef is upgraded to at least 14.9.13.
command "patch -d #{install_dir}/embedded/lib/ruby/gems/2.6.0/gems/chef-#{default_version} -p1 < #{Omnibus::Config.project_root}/config/patches/chef-gem/ruby/#{version}/net-server-exception.patch"
end
......@@ -17,7 +17,7 @@
name 'chef-zero'
# The version here should be in agreement with /Gemfile.lock so that our rspec
# testing stays consistent with the package contents.
default_version '13.1.0'
default_version '14.0.12'
license 'Apache-2.0'
license_file 'LICENSE'
......@@ -28,7 +28,7 @@ dependency 'ruby'
dependency 'rubygems'
build do
patch source: "license/#{version}/add-license-file.patch"
patch source: "license/add-license-file.patch"
env = with_standard_compiler_flags(with_embedded_path)
gem 'install chef-zero' \
......
......@@ -14,10 +14,15 @@
# limitations under the License.
#
require "#{Omnibus::Config.project_root}/lib/gitlab/version"
name 'ohai'
# The version here should be in agreement with /Gemfile.lock so that our rspec
# testing stays consistent with the package contents.
default_version '13.7.1'
version = Gitlab::Version.new('ohai', '14-8-13-gitlab')
default_version version.print(false)
source git: version.remote
license 'Apache-2.0'
license_file 'LICENSE'
......@@ -28,11 +33,11 @@ dependency 'ruby'
dependency 'rubygems'
build do
patch source: "license/#{version}/add-license-file.patch"
env = with_standard_compiler_flags(with_embedded_path)
gem 'build ohai.gemspec'
gem 'install ohai' \
" --version '#{version}'" \
" --bindir '#{install_dir}/embedded/bin'" \
' --no-document', env: env
' --no-document' \
" ohai-14.8.13.gem", env: env
end
......@@ -122,13 +122,13 @@ To troubleshoot this error:
$ ls -al /opt/gitlab/sv/redis/supervise
```
2. If you see the message, continue to the next step:
1. If you see the message, continue to the next step:
```
ls: cannot access /opt/gitlab/sv/redis/supervise: No such file or directory
```
3. Restart the runit server.
1. Restart the runit server.
Using systemctl (Debian => 9 - Stretch):
```
......
......@@ -3,9 +3,9 @@
In order to add a new service to GitLab, you should follow these steps:
1. [Fetch and compile the software during build](#fetch-and-compile-the-software-during-build)
2. [Add a top-level configuration object for the service](#add-a-top-level-configuration-object-for-the-service)
3. [Include the service in the services list](#include-the-service-in-the-services-list)
4. [Create enable and disable recipes for the service](#create-enable-and-disable-recipes-for-the-service)
1. [Add a top-level configuration object for the service](#add-a-top-level-configuration-object-for-the-service)
1. [Include the service in the services list](#include-the-service-in-the-services-list)
1. [Create enable and disable recipes for the service](#create-enable-and-disable-recipes-for-the-service)
Optionally another common task is to add [additional configuration parsing](#additional-configuration-parsing-for-the-service)
for the service.
......
......@@ -13,13 +13,13 @@ up a Build Environment](../build/prepare-build-environment.md).
The steps are similar for other OSs; only the commands differ.
1. Install docker for your OS as per [official Docker installation docs](https://docs.docker.com/engine/installation).
2. Pulling a Debian Jessie image
1. Pulling a Debian Jessie image
```
docker pull debian:jessie
```
3. Running docker image with a shell prompt
1. Running docker image with a shell prompt
```
docker run -it debian:jessie bash
......@@ -27,7 +27,7 @@ up a Build Environment](../build/prepare-build-environment.md).
This will cause the docker to run the jessie image and you will fall into a
bash prompt, where the following steps are applied to.
2. Install basic necessary tools
1. Install basic necessary tools
Basic tools used for developing Omnibus GitLab may be installed using the
following command
......@@ -36,7 +36,7 @@ up a Build Environment](../build/prepare-build-environment.md).
sudo apt-get install git
```
3. Getting GitLab CE nightly package and installing it
1. Getting GitLab CE nightly package and installing it
Get the latest GitLab CE nightly package (of the OS you are using) from
[Nightly Build repository](https://packages.gitlab.com/gitlab/nightly-builds)
......@@ -49,7 +49,7 @@ up a Build Environment](../build/prepare-build-environment.md).
For the time being, consider the date of pushing (which is available next
to the package name in the repository page) to find the latest package version.
4. Getting source of Omnibus GitLab
1. Getting source of Omnibus GitLab
Get the source code of Omnibus GitLab from the [repository on GitLab.com](https://gitlab.com/gitlab-org/omnibus-gitlab)
......@@ -59,7 +59,7 @@ up a Build Environment](../build/prepare-build-environment.md).
We will be doing the development inside the `~/omnibus-gitlab` directory.
5. Instructing GitLab to apply the changes we make to the cookbooks.
1. Instructing GitLab to apply the changes we make to the cookbooks.
During development, we need the changes we make to the cookbooks to be
applied immediately to the running GitLab instance. So, we have to instruct
......@@ -72,7 +72,7 @@ up a Build Environment](../build/prepare-build-environment.md).
sudo ln -s ~/omnibus-gitlab/files/gitlab-cookbooks/gitlab /opt/gitlab/embedded/cookbooks/gitlab
```
6. Docker container specific items
1. Docker container specific items
Before running `reconfigure`, you need to start runsv.
......
......@@ -181,19 +181,19 @@ To upgrade GitLab to a new version you have to:
sudo docker stop gitlab
```
2. Remove existing container:
1. Remove existing container:
```bash
sudo docker rm gitlab
```
3. Pull the new image:
1. Pull the new image:
```bash
sudo docker pull gitlab/gitlab-ce:latest
```
4. Create the container once again with previously specified options:
1. Create the container once again with previously specified options:
```bash
sudo docker run --detach \
......@@ -290,7 +290,7 @@ You then need to appropriately configure `gitlab.rb`:
For more information see the [NGINX documentation](../settings/nginx.md).
2. Set `gitlab_shell_ssh_port`:
1. Set `gitlab_shell_ssh_port`:
```
gitlab_rails['gitlab_shell_ssh_port'] = 2289
......@@ -385,7 +385,7 @@ download a new release and upgrade your GitLab instance.
## Deploy GitLab in a Docker swarm
With [Docker swarm](https://docs.docker.com/engine/swarm/) you can easily configure and deploy your
With [Docker swarm](https://docs.docker.com/engine/swarm/) you can easily configure and deploy your
Docker-based GitLab installation in a swarm cluster.
In swarm mode you can leverage [Docker secrets](https://docs.docker.com/engine/swarm/secrets/)
......@@ -396,7 +396,7 @@ Configs can help you to keep your GitLab image as generic as possible.
Here's an example that deploys GitLab with four runners as a [stack](https://docs.docker.com/get-started/part5/), using secrets and configs:
1. [Setup a Docker swarm](https://docs.docker.com/engine/swarm/swarm-tutorial/)
2. Create a `docker-compose.yml` file:
1. Create a `docker-compose.yml` file:
```yml
version: "3.6"
......@@ -434,20 +434,20 @@ Here's an example that deploys GitLab with four runners as a [stack](https://doc
For simplicity reasons, the `network` configuration was omitted.
More information can be found in the official [Compose file reference](https://docs.docker.com/compose/compose-file/).
3. Create a `gitlab.rb` file:
1. Create a `gitlab.rb` file:
```ruby
external_url 'https://my.domain.com/'
gitlab_rails['initial_root_password'] = File.read('/run/secrets/gitlab_root_password')
```
4. Create a `root_password.txt` file:
1. Create a `root_password.txt` file:
```
MySuperSecretAndSecurePass0rd!
```
5. Make sure you are in the same directory as `docker-compose.yml` and run:
1. Make sure you are in the same directory as `docker-compose.yml` and run:
```bash
docker stack deploy --compose-file docker-compose.yml mystack
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment