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:
authorZeger-Jan van de Weg <git@zjvandeweg.nl>2020-08-19 11:05:29 +0300
committerZeger-Jan van de Weg <git@zjvandeweg.nl>2020-08-19 11:05:29 +0300
commit56251315578cd17c0ceebcb911e8d3ddb159afca (patch)
tree4f6e50304792d655101d6654dee3fd5ed6663143
parent14370f86aaddaf173ff205148704eab118d8d181 (diff)
parent53684ae4250cab32c247be130f2847e658002b87 (diff)
Merge branch 'env-inject-correlation-id' into 'master'
Pass CORRELATION_ID env variable to spawned git subprocesses See merge request gitlab-org/gitaly!2478
-rw-r--r--changelogs/unreleased/env-inject-correlation-id.yml5
-rw-r--r--internal/command/command.go4
2 files changed, 9 insertions, 0 deletions
diff --git a/changelogs/unreleased/env-inject-correlation-id.yml b/changelogs/unreleased/env-inject-correlation-id.yml
new file mode 100644
index 000000000..7f54e41fe
--- /dev/null
+++ b/changelogs/unreleased/env-inject-correlation-id.yml
@@ -0,0 +1,5 @@
+---
+title: Pass CORRELATION_ID env variable to spawned git subprocesses
+merge_request: 2478
+author:
+type: other
diff --git a/internal/command/command.go b/internal/command/command.go
index cd7ec7b83..2d77ffefd 100644
--- a/internal/command/command.go
+++ b/internal/command/command.go
@@ -18,6 +18,7 @@ import (
"github.com/sirupsen/logrus"
"gitlab.com/gitlab-org/gitaly/internal/config"
"gitlab.com/gitlab-org/gitaly/internal/metadata/featureflag"
+ "gitlab.com/gitlab-org/labkit/tracing"
)
const (
@@ -56,6 +57,8 @@ var exportedEnvVars = []string{
"NO_PROXY",
}
+var envInjector = tracing.NewEnvInjector()
+
const (
// MaxStderrBytes is at most how many bytes will be written to stderr
MaxStderrBytes = 10000 // 10kb
@@ -200,6 +203,7 @@ func New(ctx context.Context, cmd *exec.Cmd, stdin io.Reader, stdout, stderr io.
// Export env vars
cmd.Env = append(env, AllowedEnvironment()...)
+ cmd.Env = envInjector(ctx, cmd.Env)
// Start the command in its own process group (nice for signalling)
cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}