diff --git a/pkg/deploy/gateway/traefik_config.go b/pkg/deploy/gateway/traefik_config.go index 0c359c63e..63d3fa38c 100644 --- a/pkg/deploy/gateway/traefik_config.go +++ b/pkg/deploy/gateway/traefik_config.go @@ -62,9 +62,10 @@ type TraefikConfigStripPrefix struct { } type TraefikConfigForwardAuth struct { - Address string `json:"address"` - TrustForwardHeader bool `json:"trustForwardHeader"` - TLS *TraefikConfigTLS `json:"tls,omitempty"` + Address string `json:"address"` + TrustForwardHeader bool `json:"trustForwardHeader"` + TLS *TraefikConfigTLS `json:"tls,omitempty"` + MaxResponseBodySize *int `json:"maxResponseBodySize,omitempty"` } type TraefikConfigErrors struct { diff --git a/pkg/deploy/gateway/traefik_config_util.go b/pkg/deploy/gateway/traefik_config_util.go index 78b96a71c..7fee4a9cc 100644 --- a/pkg/deploy/gateway/traefik_config_util.go +++ b/pkg/deploy/gateway/traefik_config_util.go @@ -12,6 +12,8 @@ package gateway +import "k8s.io/utils/pointer" + const ( StripPrefixMiddlewareSuffix = "-strip-prefix" HeaderRewriteMiddlewareSuffix = "-header-rewrite" @@ -88,8 +90,9 @@ func (cfg *TraefikConfig) AddOpenShiftTokenCheck(componentName string) { cfg.HTTP.Routers[componentName].Middlewares = append(cfg.HTTP.Routers[componentName].Middlewares, middlewareName) cfg.HTTP.Middlewares[middlewareName] = &TraefikConfigMiddleware{ ForwardAuth: &TraefikConfigForwardAuth{ - Address: "https://kubernetes.default.svc/apis/user.openshift.io/v1/users/~", - TrustForwardHeader: true, + Address: "https://kubernetes.default.svc/apis/user.openshift.io/v1/users/~", + TrustForwardHeader: true, + MaxResponseBodySize: pointer.Int(16384), // 16KB TLS: &TraefikConfigTLS{ InsecureSkipVerify: true, }, @@ -102,7 +105,8 @@ func (cfg *TraefikConfig) AddAuth(componentName string, authAddress string) { cfg.HTTP.Routers[componentName].Middlewares = append(cfg.HTTP.Routers[componentName].Middlewares, middlewareName) cfg.HTTP.Middlewares[middlewareName] = &TraefikConfigMiddleware{ ForwardAuth: &TraefikConfigForwardAuth{ - Address: authAddress, + Address: authAddress, + MaxResponseBodySize: pointer.Int(16384), // 16KB }, } }