Add missing headerField in Middleware CRD

This commit is contained in:
Harold Ozouf 2025-01-31 14:28:06 +01:00 committed by GitHub
parent cdd24e91b4
commit d04e2d717c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 22 additions and 1 deletions

View file

@ -1238,6 +1238,11 @@ spec:
description: ForwardBody defines whether to send the request body description: ForwardBody defines whether to send the request body
to the authentication server. to the authentication server.
type: boolean type: boolean
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
More info: https://doc.traefik.io/traefik/v3.3/middlewares/http/forwardauth/#headerfield
type: string
maxBodySize: maxBodySize:
description: MaxBodySize defines the maximum body size in bytes description: MaxBodySize defines the maximum body size in bytes
allowed to be forwarded to the authentication server. allowed to be forwarded to the authentication server.

View file

@ -496,6 +496,11 @@ spec:
description: ForwardBody defines whether to send the request body description: ForwardBody defines whether to send the request body
to the authentication server. to the authentication server.
type: boolean type: boolean
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
More info: https://doc.traefik.io/traefik/v3.3/middlewares/http/forwardauth/#headerfield
type: string
maxBodySize: maxBodySize:
description: MaxBodySize defines the maximum body size in bytes description: MaxBodySize defines the maximum body size in bytes
allowed to be forwarded to the authentication server. allowed to be forwarded to the authentication server.

View file

@ -1238,6 +1238,11 @@ spec:
description: ForwardBody defines whether to send the request body description: ForwardBody defines whether to send the request body
to the authentication server. to the authentication server.
type: boolean type: boolean
headerField:
description: |-
HeaderField defines a header field to store the authenticated user.
More info: https://doc.traefik.io/traefik/v3.3/middlewares/http/forwardauth/#headerfield
type: string
maxBodySize: maxBodySize:
description: MaxBodySize defines the maximum body size in bytes description: MaxBodySize defines the maximum body size in bytes
allowed to be forwarded to the authentication server. allowed to be forwarded to the authentication server.

View file

@ -252,7 +252,7 @@ type ForwardAuth struct {
// AddAuthCookiesToResponse defines the list of cookies to copy from the authentication server response to the response. // AddAuthCookiesToResponse defines the list of cookies to copy from the authentication server response to the response.
AddAuthCookiesToResponse []string `json:"addAuthCookiesToResponse,omitempty" toml:"addAuthCookiesToResponse,omitempty" yaml:"addAuthCookiesToResponse,omitempty" export:"true"` AddAuthCookiesToResponse []string `json:"addAuthCookiesToResponse,omitempty" toml:"addAuthCookiesToResponse,omitempty" yaml:"addAuthCookiesToResponse,omitempty" export:"true"`
// HeaderField defines a header field to store the authenticated user. // HeaderField defines a header field to store the authenticated user.
// More info: https://doc.traefik.io/traefik/v3.0/middlewares/http/forwardauth/#headerfield // More info: https://doc.traefik.io/traefik/v3.3/middlewares/http/forwardauth/#headerfield
HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"` HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"`
// ForwardBody defines whether to send the request body to the authentication server. // ForwardBody defines whether to send the request body to the authentication server.
ForwardBody bool `json:"forwardBody,omitempty" toml:"forwardBody,omitempty" yaml:"forwardBody,omitempty" export:"true"` ForwardBody bool `json:"forwardBody,omitempty" toml:"forwardBody,omitempty" yaml:"forwardBody,omitempty" export:"true"`

View file

@ -60,6 +60,7 @@ metadata:
spec: spec:
forwardAuth: forwardAuth:
address: test.com address: test.com
headerField: X-Header-Field
tls: tls:
certSecret: tlssecret certSecret: tlssecret
caSecret: casecret caSecret: casecret

View file

@ -789,6 +789,7 @@ func createForwardAuthMiddleware(k8sClient Client, namespace string, auth *traef
AuthResponseHeadersRegex: auth.AuthResponseHeadersRegex, AuthResponseHeadersRegex: auth.AuthResponseHeadersRegex,
AuthRequestHeaders: auth.AuthRequestHeaders, AuthRequestHeaders: auth.AuthRequestHeaders,
AddAuthCookiesToResponse: auth.AddAuthCookiesToResponse, AddAuthCookiesToResponse: auth.AddAuthCookiesToResponse,
HeaderField: auth.HeaderField,
ForwardBody: auth.ForwardBody, ForwardBody: auth.ForwardBody,
PreserveLocationHeader: auth.PreserveLocationHeader, PreserveLocationHeader: auth.PreserveLocationHeader,
} }

View file

@ -3961,6 +3961,7 @@ func TestLoadIngressRoutes(t *testing.T) {
ForwardAuth: &dynamic.ForwardAuth{ ForwardAuth: &dynamic.ForwardAuth{
Address: "test.com", Address: "test.com",
MaxBodySize: pointer(int64(-1)), MaxBodySize: pointer(int64(-1)),
HeaderField: "X-Header-Field",
TLS: &dynamic.ClientTLS{ TLS: &dynamic.ClientTLS{
CA: "-----BEGIN CERTIFICATE-----\n-----END CERTIFICATE-----", CA: "-----BEGIN CERTIFICATE-----\n-----END CERTIFICATE-----",
Cert: "-----BEGIN CERTIFICATE-----\n-----END CERTIFICATE-----", Cert: "-----BEGIN CERTIFICATE-----\n-----END CERTIFICATE-----",

View file

@ -161,6 +161,9 @@ type ForwardAuth struct {
TLS *ClientTLS `json:"tls,omitempty"` TLS *ClientTLS `json:"tls,omitempty"`
// AddAuthCookiesToResponse defines the list of cookies to copy from the authentication server response to the response. // AddAuthCookiesToResponse defines the list of cookies to copy from the authentication server response to the response.
AddAuthCookiesToResponse []string `json:"addAuthCookiesToResponse,omitempty"` AddAuthCookiesToResponse []string `json:"addAuthCookiesToResponse,omitempty"`
// HeaderField defines a header field to store the authenticated user.
// More info: https://doc.traefik.io/traefik/v3.3/middlewares/http/forwardauth/#headerfield
HeaderField string `json:"headerField,omitempty"`
// ForwardBody defines whether to send the request body to the authentication server. // ForwardBody defines whether to send the request body to the authentication server.
ForwardBody bool `json:"forwardBody,omitempty"` ForwardBody bool `json:"forwardBody,omitempty"`
// MaxBodySize defines the maximum body size in bytes allowed to be forwarded to the authentication server. // MaxBodySize defines the maximum body size in bytes allowed to be forwarded to the authentication server.