Configuring Mercurial subprocessing
We're defining a new mercurial
section in the gitlab
cookbook,
almost as if it were a service, to hold infomation needed to spawn
hg
processes.
An immediate benefit of this is that the end Docker image can use
the hg
binary without further ado (/opt/gitlab/embedded/bin is not
on the path for SSH connections).
In a next move, this will also allow to stop hardcoding paths meant for Docker as default values in the Rails application and other components.
We're not exposing this new section to
/etc/gitlab/gitlab.rb
(we could do it later if needed), because at
this point the only thing users could do is break their install.
So this is pretty much hardcoded values, still exposed as default
for something that could become more configurable.
For now, the values are tailored for the expected structure of
the end Docker image, notably with /opt/gitlab/etc/docker.hgrc
,
but the next step is to reverse the dependency, and generate the
needed hgrc file from Omnibus. To prepare for potential full
configurability in the future, it should actually end up in
/var/opt/gitlab
because its content depends potentially on
other configurable settings.