gateway

package
v0.0.0-...-2735486 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2025 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DynamicConfigResponse

func DynamicConfigResponse[T proto.Message](in ...T) (*discoveryApi.DiscoveryResponse, error)

func NewTypedFilterConfig

func NewTypedFilterConfig(gens ...TypedFilterConfigGen) (map[string]*anypb.Any, error)

func NodeDynamicConfig

func NodeDynamicConfig(cluster, id string, cds, lds *DynamicConfig) ([]byte, string, *bootstrapAPI.Bootstrap, error)

Types

type ALPNProtocol

type ALPNProtocol int
const (
	ALPNProtocolHTTP1 ALPNProtocol = 1 << iota
	ALPNProtocolHTTP2 ALPNProtocol = 1 << iota
)

func (ALPNProtocol) String

func (a ALPNProtocol) String() string

type Config

type Config struct {
	DefaultDestination ConfigDestination `json:"defaultDestination,omitempty"`

	Destinations ConfigDestinations `json:"destinations,omitempty"`

	DefaultTLS *ConfigTLS `json:"defaultTLS,omitempty"`

	IntegrationSidecar *ConfigDestinationTarget `json:"integrationSidecar,omitempty"`

	SNI ConfigSNIList `json:"sni,omitempty"`

	Options *ConfigOptions `json:"options,omitempty"`
}

func (Config) Render

func (c Config) Render() (*bootstrapAPI.Bootstrap, error)

func (Config) RenderCDS

func (c Config) RenderCDS() (*discoveryApi.DiscoveryResponse, error)

func (Config) RenderCDSYAML

func (c Config) RenderCDSYAML() ([]byte, string, *discoveryApi.DiscoveryResponse, error)

func (Config) RenderClusters

func (c Config) RenderClusters() ([]*clusterAPI.Cluster, error)

func (Config) RenderDefaultFilterChain

func (c Config) RenderDefaultFilterChain() (*listenerAPI.FilterChain, error)

func (Config) RenderFilters

func (c Config) RenderFilters() ([]*listenerAPI.Filter, error)

func (Config) RenderIntegrationSidecarFilter

func (c Config) RenderIntegrationSidecarFilter() (*httpConnectionManagerAPI.HttpFilter, error)

func (Config) RenderLDS

func (c Config) RenderLDS() (*discoveryApi.DiscoveryResponse, error)

func (Config) RenderLDSYAML

func (c Config) RenderLDSYAML() ([]byte, string, *discoveryApi.DiscoveryResponse, error)

func (Config) RenderListener

func (c Config) RenderListener() (*listenerAPI.Listener, error)

func (Config) RenderRoutes

func (c Config) RenderRoutes() ([]*routeAPI.Route, error)

func (Config) RenderSecondaryFilterChains

func (c Config) RenderSecondaryFilterChains() ([]*listenerAPI.FilterChain, error)

func (Config) RenderYAML

func (c Config) RenderYAML() ([]byte, string, *bootstrapAPI.Bootstrap, error)

func (Config) Validate

func (c Config) Validate() error

type ConfigAuthZExtension

type ConfigAuthZExtension struct {
	AuthZExtension map[string]string `json:"authZExtension,omitempty"`
}

func (*ConfigAuthZExtension) RenderTypedFilterConfig

func (c *ConfigAuthZExtension) RenderTypedFilterConfig() (util.KV[string, *anypb.Any], error)

func (*ConfigAuthZExtension) Validate

func (c *ConfigAuthZExtension) Validate() error

type ConfigDestination

type ConfigDestination struct {
	Targets ConfigDestinationTargets `json:"targets,omitempty"`

	Type *ConfigDestinationType `json:"type,omitempty"`

	Protocol *ConfigDestinationProtocol `json:"protocol,omitempty"`

	Path *string `json:"path,omitempty"`

	AuthExtension *ConfigAuthZExtension `json:"authExtension,omitempty"`

	UpgradeConfigs ConfigDestinationsUpgrade `json:"upgradeConfigs,omitempty"`

	TLS ConfigDestinationTLS `json:"tls,omitempty"`

	Timeout *meta.Duration `json:"timeout,omitempty"`

	ResponseHeaders map[string]string `json:"responseHeaders,omitempty"`

	Static ConfigDestinationStaticInterface `json:"static,omitempty"`
}

func (*ConfigDestination) GetPath

func (c *ConfigDestination) GetPath() string

func (*ConfigDestination) GetTimeout

func (c *ConfigDestination) GetTimeout() time.Duration

func (*ConfigDestination) RenderCluster

func (c *ConfigDestination) RenderCluster(name string) (*clusterAPI.Cluster, error)

func (*ConfigDestination) RenderRoute

func (c *ConfigDestination) RenderRoute(name, prefix string) (*routeAPI.Route, error)

func (*ConfigDestination) Validate

func (c *ConfigDestination) Validate() error

type ConfigDestinationProtocol

type ConfigDestinationProtocol int
const (
	ConfigDestinationProtocolHTTP1 ConfigDestinationProtocol = iota
	ConfigDestinationProtocolHTTP2
)

func (*ConfigDestinationProtocol) ALPN

func (*ConfigDestinationProtocol) Get

func (*ConfigDestinationProtocol) Options

func (*ConfigDestinationProtocol) Validate

func (c *ConfigDestinationProtocol) Validate() error

type ConfigDestinationStatic

type ConfigDestinationStatic[T any] struct {
	Code *uint32 `json:"insecure,omitempty"`

	Response T `json:"response,omitempty"`

	Marshaller ConfigDestinationStaticMarshaller[T] `json:"-"`
}

func (*ConfigDestinationStatic[T]) GetCode

func (c *ConfigDestinationStatic[T]) GetCode() uint32

func (*ConfigDestinationStatic[T]) Marshall

func (c *ConfigDestinationStatic[T]) Marshall() ([]byte, error)

func (*ConfigDestinationStatic[T]) StaticResponse

func (c *ConfigDestinationStatic[T]) StaticResponse() ([]byte, uint32, error)

func (*ConfigDestinationStatic[T]) Validate

func (c *ConfigDestinationStatic[T]) Validate() error

type ConfigDestinationStaticInterface

type ConfigDestinationStaticInterface interface {
	Validate() error
	StaticResponse() ([]byte, uint32, error)
}

type ConfigDestinationStaticMarshaller

type ConfigDestinationStaticMarshaller[T any] func(in T) ([]byte, error)

type ConfigDestinationTLS

type ConfigDestinationTLS struct {
	Insecure *bool `json:"insecure,omitempty"`
}

func (*ConfigDestinationTLS) IsInsecure

func (c *ConfigDestinationTLS) IsInsecure() bool

func (*ConfigDestinationTLS) Validate

func (c *ConfigDestinationTLS) Validate() error

type ConfigDestinationTarget

type ConfigDestinationTarget struct {
	Host string `json:"ip,omitempty"`
	Port int32  `json:"port,omitempty"`
}

func (*ConfigDestinationTarget) RenderEndpoint

func (c *ConfigDestinationTarget) RenderEndpoint() *endpointAPI.LbEndpoint

func (*ConfigDestinationTarget) Validate

func (c *ConfigDestinationTarget) Validate() error

type ConfigDestinationTargets

type ConfigDestinationTargets []ConfigDestinationTarget

func (ConfigDestinationTargets) RenderEndpoints

func (c ConfigDestinationTargets) RenderEndpoints() []*endpointAPI.LbEndpoint

func (ConfigDestinationTargets) Validate

func (c ConfigDestinationTargets) Validate() error

type ConfigDestinationType

type ConfigDestinationType int
const (
	ConfigDestinationTypeHTTP ConfigDestinationType = iota
	ConfigDestinationTypeHTTPS
	ConfigDestinationTypeStatic
)

func (*ConfigDestinationType) Get

func (*ConfigDestinationType) RenderUpstreamTransportSocket

func (c *ConfigDestinationType) RenderUpstreamTransportSocket(protocol *ConfigDestinationProtocol, config ConfigDestinationTLS) (*coreAPI.TransportSocket, error)

func (*ConfigDestinationType) Validate

func (c *ConfigDestinationType) Validate() error

type ConfigDestinationUpgrade

type ConfigDestinationUpgrade struct {
	Type string `json:"type"`

	Enabled *bool `json:"enabled,omitempty"`
}

func (ConfigDestinationUpgrade) Validate

func (c ConfigDestinationUpgrade) Validate() error

type ConfigDestinations

type ConfigDestinations map[string]ConfigDestination

func (ConfigDestinations) Validate

func (c ConfigDestinations) Validate() error

type ConfigDestinationsUpgrade

type ConfigDestinationsUpgrade []ConfigDestinationUpgrade

func (ConfigDestinationsUpgrade) Validate

func (c ConfigDestinationsUpgrade) Validate() error

type ConfigOptions

type ConfigOptions struct {
	MergeSlashes *bool `json:"mergeSlashes,omitempty"`
}

func (*ConfigOptions) GetMergeSlashes

func (c *ConfigOptions) GetMergeSlashes() bool

func (*ConfigOptions) Validate

func (c *ConfigOptions) Validate() error

type ConfigSNI

type ConfigSNI struct {
	ConfigTLS `json:",inline"`

	ServerNames []string `json:"serverNames,omitempty"`
}

func (ConfigSNI) RenderFilterChain

func (c ConfigSNI) RenderFilterChain(filters []*listenerAPI.Filter) (*listenerAPI.FilterChain, error)

func (ConfigSNI) Validate

func (c ConfigSNI) Validate() error

type ConfigSNIList

type ConfigSNIList []ConfigSNI

func (ConfigSNIList) RenderFilterChain

func (c ConfigSNIList) RenderFilterChain(filters []*listenerAPI.Filter) ([]*listenerAPI.FilterChain, error)

func (ConfigSNIList) Validate

func (c ConfigSNIList) Validate() error

type ConfigTLS

type ConfigTLS struct {
	CertificatePath string `json:"certificatePath,omitempty"`
	PrivateKeyPath  string `json:"privateKeyPath,omitempty"`
}

func (*ConfigTLS) RenderListenerTransportSocket

func (c *ConfigTLS) RenderListenerTransportSocket() (*coreAPI.TransportSocket, error)

type DynamicConfig

type DynamicConfig struct {
	Path, File string
}

func (*DynamicConfig) AsConfigSource

func (d *DynamicConfig) AsConfigSource() *coreAPI.ConfigSource

type TypedFilterConfigGen

type TypedFilterConfigGen interface {
	RenderTypedFilterConfig() (util.KV[string, *anypb.Any], error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL