gitlab: Setup gitlab-workhorse service
authorKirill Smelkov <kirr@nexedi.com>
Thu, 7 Jan 2016 20:49:39 +0000 (23:49 +0300)
committerKirill Smelkov <kirr@nexedi.com>
Sun, 17 Jan 2016 21:39:29 +0000 (00:39 +0300)
commit6ddc1c30bb9170d781fe846ac3529a7066326b9c
treee1356c6c652347dd3cd5b5ce4d27b7028eebecf8
parent5a744de7a88cc135e7a7830906745d859c8974b0
gitlab: Setup gitlab-workhorse service

Gitlab-workhorse[1] is a service which offloads Ruby-on-Rails based
GitLab from long-running and slow requests. It is written in Go.

Now as we have unicorn service set up, we can setup gitlab-workhorse
service (which uses unicorn as authentication backend).

Gitlab-workhorse setup is easy - it is just one program and several
command line options to point to unicorn socket and to configure on
which unix socket gitlab-workhorse will listen itself.

NOTE we have to care that git and ruby to be on PATH when running
    gitlab-workhorse - because on e.g. git push'ing workhorse will run `git
    receive-pack` and a hook will be called which calls gitlab-shell,
    which is written in ruby.

NOTE2 promise to check whether gitlab-workhorse is alive is to ping it
    via URL to non-existent endpoint and check for proper 403 HTTP code
    returned.

[1] https://gitlab.com/gitlab-org/gitlab-workhorse

/cc @kazuhiko, @jerome
software/gitlab/instance-gitlab.cfg.in
software/gitlab/instance.cfg.in