Skip to content

Configuring Mercurial subprocessing

Georges Racinet requested to merge topic/heptapod/hg_bin_rc into branch/heptapod

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.

Merge request reports