From 46b6900cb1085771f088dc5bbdd473239bb179c5 Mon Sep 17 00:00:00 2001 From: Rajat Vig Date: Wed, 30 Nov 2022 11:41:49 +0000 Subject: [PATCH] Add grpc_status_code as a default access log field Fixes https://github.com/projectcontour/contour/issues/4484 Signed-off-by: Rajat Vig Co-authored-by: Steve Kriss Signed-off-by: Rajat Vig --- apis/projectcontour/v1alpha1/accesslog.go | 1 + apis/projectcontour/v1alpha1/accesslog_test.go | 2 ++ changelogs/unreleased/4880-rajatvig-small.md | 1 + cmd/contour/servecontext_test.go | 1 + examples/contour/01-contour-config.yaml | 1 + examples/render/contour-deployment.yaml | 1 + examples/render/contour-gateway.yaml | 1 + examples/render/contour.yaml | 1 + pkg/config/parameters_test.go | 1 + 9 files changed, 10 insertions(+) create mode 100644 changelogs/unreleased/4880-rajatvig-small.md diff --git a/apis/projectcontour/v1alpha1/accesslog.go b/apis/projectcontour/v1alpha1/accesslog.go index 6f8e8d4cc17..c68b735e2f4 100644 --- a/apis/projectcontour/v1alpha1/accesslog.go +++ b/apis/projectcontour/v1alpha1/accesslog.go @@ -43,6 +43,7 @@ var DefaultAccessLogJSONFields = AccessLogJSONFields([]string{ "user_agent", "x_forwarded_for", "grpc_status", + "grpc_status_number", }) // DefaultAccessLogType is the default access log format. diff --git a/apis/projectcontour/v1alpha1/accesslog_test.go b/apis/projectcontour/v1alpha1/accesslog_test.go index bb5afcd5d31..297b3116e31 100644 --- a/apis/projectcontour/v1alpha1/accesslog_test.go +++ b/apis/projectcontour/v1alpha1/accesslog_test.go @@ -77,6 +77,7 @@ func TestValidateAccessLogJSONFields(t *testing.T) { {"pod=%ENVIRONMENT(ENVOY_POD_NAME)%"}, {"dog=pug", "cat=black"}, {"grpc_status"}, + {"grpc_status_number"}, } for _, c := range successCases { @@ -118,6 +119,7 @@ func TestAccessLogFormatString(t *testing.T) { "queries %REQ_WITHOUT_QUERY(X-ENVOY-ORIGINAL-PATH?:PATH)% removed\n", "just a string\n", "%GRPC_STATUS%\n", + "%GRPC_STATUS_NUMBER%\n", "%METADATA(ROUTE:com.test.my_filter:test_key):20%\n", "%UPSTREAM_PROTOCOL%\n", "%UPSTREAM_PEER_SUBJECT%\n", diff --git a/changelogs/unreleased/4880-rajatvig-small.md b/changelogs/unreleased/4880-rajatvig-small.md new file mode 100644 index 00000000000..4afb7366dc2 --- /dev/null +++ b/changelogs/unreleased/4880-rajatvig-small.md @@ -0,0 +1 @@ +Add `grpc_status_number` to the default JSON access log fields diff --git a/cmd/contour/servecontext_test.go b/cmd/contour/servecontext_test.go index 244e64f2050..c976b5e17e6 100644 --- a/cmd/contour/servecontext_test.go +++ b/cmd/contour/servecontext_test.go @@ -459,6 +459,7 @@ func TestConvertServeContext(t *testing.T) { "user_agent", "x_forwarded_for", "grpc_status", + "grpc_status_number", }), }, DefaultHTTPVersions: nil, diff --git a/examples/contour/01-contour-config.yaml b/examples/contour/01-contour-config.yaml index af4b93ee186..4b87eaeef5f 100644 --- a/examples/contour/01-contour-config.yaml +++ b/examples/contour/01-contour-config.yaml @@ -96,6 +96,7 @@ data: # - "user_agent" # - "x_forwarded_for" # - "grpc_status" + # - "grpc_status_number" # # default-http-versions: # - "HTTP/2" diff --git a/examples/render/contour-deployment.yaml b/examples/render/contour-deployment.yaml index b3d0963842d..ffc37f22aa1 100644 --- a/examples/render/contour-deployment.yaml +++ b/examples/render/contour-deployment.yaml @@ -129,6 +129,7 @@ data: # - "user_agent" # - "x_forwarded_for" # - "grpc_status" + # - "grpc_status_number" # # default-http-versions: # - "HTTP/2" diff --git a/examples/render/contour-gateway.yaml b/examples/render/contour-gateway.yaml index 56917fae16c..d2d8e2bcce9 100644 --- a/examples/render/contour-gateway.yaml +++ b/examples/render/contour-gateway.yaml @@ -135,6 +135,7 @@ data: # - "user_agent" # - "x_forwarded_for" # - "grpc_status" + # - "grpc_status_number" # # default-http-versions: # - "HTTP/2" diff --git a/examples/render/contour.yaml b/examples/render/contour.yaml index 40d59259cb2..5acde48541e 100644 --- a/examples/render/contour.yaml +++ b/examples/render/contour.yaml @@ -129,6 +129,7 @@ data: # - "user_agent" # - "x_forwarded_for" # - "grpc_status" + # - "grpc_status_number" # # default-http-versions: # - "HTTP/2" diff --git a/pkg/config/parameters_test.go b/pkg/config/parameters_test.go index 0c1ebc1ba34..6dd84c23f08 100644 --- a/pkg/config/parameters_test.go +++ b/pkg/config/parameters_test.go @@ -72,6 +72,7 @@ json-fields: - user_agent - x_forwarded_for - grpc_status + - grpc_status_number accesslog-level: info timeouts: connection-idle-timeout: 60s