Support GRPC routes
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
This commit is contained in:
parent
6b3167d03e
commit
5ed972ccd8
15 changed files with 18758 additions and 10695 deletions
|
@ -7,6 +7,7 @@ import (
|
|||
ptypes "github.com/traefik/paerser/types"
|
||||
traefiktls "github.com/traefik/traefik/v3/pkg/tls"
|
||||
"github.com/traefik/traefik/v3/pkg/types"
|
||||
"google.golang.org/grpc/codes"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -132,6 +133,9 @@ type WRRService struct {
|
|||
// Status defines an HTTP status code that should be returned when calling the service.
|
||||
// This is required by the Gateway API implementation which expects specific HTTP status to be returned.
|
||||
Status *int `json:"-" toml:"-" yaml:"-" label:"-" file:"-"`
|
||||
// GRPCStatus defines a GRPC status code that should be returned when calling the service.
|
||||
// This is required by the Gateway API implementation which expects specific GRPC status to be returned.
|
||||
GRPCStatus *GRPCStatus `json:"-" toml:"-" yaml:"-" label:"-" file:"-"`
|
||||
}
|
||||
|
||||
// SetDefaults Default values for a WRRService.
|
||||
|
@ -142,6 +146,13 @@ func (w *WRRService) SetDefaults() {
|
|||
|
||||
// +k8s:deepcopy-gen=true
|
||||
|
||||
type GRPCStatus struct {
|
||||
Code codes.Code `json:"code,omitempty" toml:"code,omitempty" yaml:"code,omitempty" export:"true"`
|
||||
Msg string `json:"msg,omitempty" toml:"msg,omitempty" yaml:"msg,omitempty" export:"true"`
|
||||
}
|
||||
|
||||
// +k8s:deepcopy-gen=true
|
||||
|
||||
// Sticky holds the sticky configuration.
|
||||
type Sticky struct {
|
||||
// Cookie defines the sticky cookie configuration.
|
||||
|
|
|
@ -394,6 +394,22 @@ func (in *ForwardingTimeouts) DeepCopy() *ForwardingTimeouts {
|
|||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *GRPCStatus) DeepCopyInto(out *GRPCStatus) {
|
||||
*out = *in
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCStatus.
|
||||
func (in *GRPCStatus) DeepCopy() *GRPCStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(GRPCStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *GrpcWeb) DeepCopyInto(out *GrpcWeb) {
|
||||
*out = *in
|
||||
|
@ -2284,6 +2300,11 @@ func (in *WRRService) DeepCopyInto(out *WRRService) {
|
|||
*out = new(int)
|
||||
**out = **in
|
||||
}
|
||||
if in.GRPCStatus != nil {
|
||||
in, out := &in.GRPCStatus, &out.GRPCStatus
|
||||
*out = new(GRPCStatus)
|
||||
**out = **in
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue