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-11-18 13:36:23 +0300
committerZeger-Jan van de Weg <git@zjvandeweg.nl>2020-11-18 13:36:23 +0300
commitf25a1b2c74ee50bbf911dade89b8239f4e897d33 (patch)
tree40f3acb2ae87c35090448f893c318170a4ff972b
parent8ee45d6d08e9cb9c5f44454e9ac367d72ff4558e (diff)
parentd4737850b8ec7a7b76e6a6e71b9dd7f68669eaf3 (diff)
Merge branch 'client-identity' into 'master'
Support for logging propagated client identity See merge request gitlab-org/gitaly!2802
-rw-r--r--changelogs/unreleased/client-identity.yml5
-rw-r--r--internal/middleware/metadatahandler/metadatahandler.go24
2 files changed, 29 insertions, 0 deletions
diff --git a/changelogs/unreleased/client-identity.yml b/changelogs/unreleased/client-identity.yml
new file mode 100644
index 000000000..0f4c30f71
--- /dev/null
+++ b/changelogs/unreleased/client-identity.yml
@@ -0,0 +1,5 @@
+---
+title: Support for logging propagated client identity
+merge_request: 2802
+author:
+type: added
diff --git a/internal/middleware/metadatahandler/metadatahandler.go b/internal/middleware/metadatahandler/metadatahandler.go
index 70e38b7cd..cfe5cb1a4 100644
--- a/internal/middleware/metadatahandler/metadatahandler.go
+++ b/internal/middleware/metadatahandler/metadatahandler.go
@@ -49,6 +49,15 @@ const AuthVersionKey = "grpc.meta.auth_version"
// DeadlineTypeKey is the key used in ctx_tags to store the deadline type
const DeadlineTypeKey = "grpc.meta.deadline_type"
+// RemoteIPKey is the key used in ctx_tags to store the remote_ip
+const RemoteIPKey = "remote_ip"
+
+// UserIDKey is the key used in ctx_tags to store the user_id
+const UserIDKey = "user_id"
+
+// UsernameKey is the key used in ctx_tags to store the username
+const UsernameKey = "username"
+
// CorrelationIDKey is the key used in ctx_tags to store the correlation ID
const CorrelationIDKey = "correlation_id"
@@ -117,6 +126,21 @@ func addMetadataTags(ctx context.Context) metadataTags {
tags.Set(AuthVersionKey, authInfo.Version)
}
+ metadata = getFromMD(md, "remote_ip")
+ if metadata != "" {
+ tags.Set(RemoteIPKey, metadata)
+ }
+
+ metadata = getFromMD(md, "user_id")
+ if metadata != "" {
+ tags.Set(UserIDKey, metadata)
+ }
+
+ metadata = getFromMD(md, "username")
+ if metadata != "" {
+ tags.Set(UsernameKey, metadata)
+ }
+
// This is a stop-gap approach to logging correlation_ids
correlationID := correlation.ExtractFromContext(ctx)
if correlationID != "" {