Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <psteinhardt@gitlab.com>2020-12-10 15:46:13 +0300
committerPatrick Steinhardt <psteinhardt@gitlab.com>2020-12-10 15:57:11 +0300
commit0a42fb86de9f0f4477ee2c4363b81d4754afb2b1 (patch)
treef18304a0e39eef572e80f4f4222e04e6abf36a4c /cmd/gitaly-hooks
parent451566532841a32f4386b4654a0504a86439b629 (diff)
gitlabshell: Stop injecting configuration into environment
The `internal/gitlabshell` package was originally responsible to set up the environment required by hooks. Since we stopped using gitlab-shell for this and migrated to our Go infrastructure, injecting its configuration isn't necessary anymore. Currently, the package is responsible for injecting three environment variables: - The gitlab-shell configuration, which isn't read at all anymore by our Go hooks. It encoded things like custom hooks directories, logging settings as well as the GitLab URL. But these are nowadays stored in the actual Go services and not used by the hook, which always defer to the services. - The GITALY_BIN_DIR is required, as it is used by our hooks script to identify the location of the actual gitaly-hooks binary. It's thus only required where we actually spawn those executables. We already inject this variable in `internal/git/hooks.go`, so there is no need to keep it around here. Thhe Ruby sidcar instead internally uses GITALY_RUBY_GITALY_BIN_DIR to locate them, so we don't need it there either. - The GITALY_LOG_DIR is required, as it is used by gitaly-hooks to optionally enable logging to a file in that directory. It's currently only injected via `receivePackHookEnv`, but it should also be for all the other hooks. This commit thus moves injection into `refHookEnv`. With this, we now have all environment variables set up everywhere, making the package absolete. So let's just remove it altogether and end an era.
Diffstat (limited to 'cmd/gitaly-hooks')
-rw-r--r--cmd/gitaly-hooks/hooks_test.go8
1 files changed, 2 insertions, 6 deletions
diff --git a/cmd/gitaly-hooks/hooks_test.go b/cmd/gitaly-hooks/hooks_test.go
index 47c73425a..c0efd9cfa 100644
--- a/cmd/gitaly-hooks/hooks_test.go
+++ b/cmd/gitaly-hooks/hooks_test.go
@@ -21,7 +21,6 @@ import (
"gitlab.com/gitlab-org/gitaly/internal/gitaly/config"
gitalyhook "gitlab.com/gitlab-org/gitaly/internal/gitaly/hook"
"gitlab.com/gitlab-org/gitaly/internal/gitaly/service/hook"
- "gitlab.com/gitlab-org/gitaly/internal/gitlabshell"
gitalylog "gitlab.com/gitlab-org/gitaly/internal/log"
"gitlab.com/gitlab-org/gitaly/internal/praefect/metadata"
"gitlab.com/gitlab-org/gitaly/internal/testhelper"
@@ -40,15 +39,12 @@ type proxyValues struct {
// envForHooks generates a set of environment variables for gitaly hooks
func envForHooks(t testing.TB, gitlabShellDir string, repo *gitalypb.Repository, glHookValues glHookValues, proxyValues proxyValues, gitPushOptions ...string) []string {
- env, err := gitlabshell.EnvFromConfig(config.Config)
- require.NoError(t, err)
-
payload, err := git.NewHooksPayload(config.Config, repo, nil, nil).Env()
require.NoError(t, err)
- env = append(env, os.Environ()...)
- env = append(env, []string{
+ env := append(os.Environ(), []string{
payload,
+ "GITALY_BIN_DIR=" + config.Config.BinDir,
fmt.Sprintf("GL_ID=%s", glHookValues.GLID),
fmt.Sprintf("GL_REPOSITORY=%s", glHookValues.GLRepo),
fmt.Sprintf("GL_PROTOCOL=%s", glHookValues.GLProtocol),