Inject Praefect connection details into hooks
In order to implement the two-phase commit via the pre-receive hook, it needs to know how to connect to the transaction manager, which is going to be Praefect. As we currently have no information available at all about how to connect to Praefect throughout Gitaly, we need to first make this information available to Gitaly and then finally to the hook itself, which is what this MR implements. Praefect connection details are encoded into the proxied stream's metadata so that Gitaly can extract that information on the client side. Gitaly in turn exposes this information via git-receive-pack(1)'s environment variables so that the pre-receive hook may connect to Praefect again.
Edited by GitLab Release Tools Bot