Documentation ¶
Index ¶
- Constants
- func NewBaseGatewayController(ctx context.Context, cfg GatewayConfig) error
- func Start(ctx context.Context, cfg StartConfig) error
- type GatewayConfig
- type ObjList
- func (t *ObjList[T, PT]) DeepCopyObject() runtime.Object
- func (t *ObjList[T, PT]) EachListItem(f func(runtime.Object) error) error
- func (t *ObjList[T, PT]) EachListItemWithAlloc(f func(runtime.Object) error) error
- func (t *ObjList[T, PT]) GetObjectKind() schema.ObjectKind
- func (t *ObjList[T, PT]) IsList() bool
- func (t *ObjList[T, PT]) NewEmptyInstance() runtime.Unstructured
- func (t *ObjList[T, PT]) SetUnstructuredContent(map[string]interface{})
- func (t *ObjList[T, PT]) UnstructuredContent() map[string]interface{}
- type Object
- type StartConfig
- type TypedClient
Constants ¶
View Source
const ( // AutoProvision controls whether the controller will be responsible for provisioning dynamic // infrastructure for the Gateway API. AutoProvision = true )
View Source
const (
GatewayAutoDeployAnnotationKey = "gateway.gloo.solo.io/auto-deploy"
)
View Source
const (
// field name used for indexing
GatewayParamsField = "gateway-params"
)
Variables ¶
This section is empty.
Functions ¶
func NewBaseGatewayController ¶
func NewBaseGatewayController(ctx context.Context, cfg GatewayConfig) error
Types ¶
type GatewayConfig ¶
type GatewayConfig struct { Mgr manager.Manager GWClasses sets.Set[string] Dev bool ControllerName string AutoProvision bool Kick func(ctx context.Context) ControlPlane bootstrap.ControlPlane IstioValues bootstrap.IstioValues Extensions extensions.K8sGatewayExtensions }
type ObjList ¶
type ObjList[T any, PT Object[T]] struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Items []T `json:"items" protobuf:"bytes,2,rep,name=items"` }
func (*ObjList[T, PT]) DeepCopyObject ¶
func (*ObjList[T, PT]) EachListItem ¶
func (*ObjList[T, PT]) EachListItemWithAlloc ¶
func (*ObjList[T, PT]) GetObjectKind ¶
func (t *ObjList[T, PT]) GetObjectKind() schema.ObjectKind
func (*ObjList[T, PT]) NewEmptyInstance ¶
func (t *ObjList[T, PT]) NewEmptyInstance() runtime.Unstructured
func (*ObjList[T, PT]) SetUnstructuredContent ¶
func (*ObjList[T, PT]) UnstructuredContent ¶
type StartConfig ¶
type StartConfig struct { Dev bool Opts bootstrap.Opts // ExtensionsFactory is the factory function which will return an extensions.K8sGatewayExtensions // This is responsible for producing the extension points that this controller requires ExtensionsFactory extensions.K8sGatewayExtensionsFactory // GlooPluginRegistryFactory is the factory function to produce a PluginRegistry // The plugins in this registry are used during the conversion of a Proxy resource into an xDS Snapshot GlooPluginRegistryFactory plugins.PluginRegistryFactory // ProxyClient is the client that writes Proxy resources into an in-memory cache // This cache ultimately populates the ApiSnapshot (important for extensions such as Rate Limit to work correctly) // and is also utilized by the debug.ProxyEndpointServer ProxyClient v1.ProxyClient // AuthConfigClient is the client used for retrieving AuthConfig objects within the Portal Plugin AuthConfigClient extauthv1.AuthConfigClient // RouteOptionClient is the client used for retrieving RouteOption objects within the RouteOptionsPlugin RouteOptionClient gatewayv1.RouteOptionClient // VirtualHostOptionClient is the client used for retrieving VirtualHostOption objects within the VirtualHostOptionsPlugin VirtualHostOptionClient gatewayv1.VirtualHostOptionClient // SecretClient is used for converting from kube Secrets to gloov1 Secrets SecretClient v1.SecretClient // GlooStatusReporter is the shared reporter from setup_syncer that reports as 'gloo', // it is used to report on Upstreams and Proxies after xds translation. // this is required because various upstream tests expect a certain reporter for Upstreams // TODO: remove the other reporter and only use this one, no need for 2 different reporters GlooStatusReporter reporter.StatusReporter // KubeGwStatusReporter is used within any StatusPlugins that must persist a GE-classic style status // TODO: as mentioned above, this should be removed: https://github.com/solo-io/solo-projects/issues/7055 KubeGwStatusReporter reporter.StatusReporter // Translator is an instance of the Gloo translator used to translate Proxy -> xDS Snapshot Translator translator.Translator // SyncerExtensions is a list of extensions, the kube gw controller will use these to get extension-specific // errors & warnings for any Proxies it generates SyncerExtensions []syncer.TranslatorSyncerExtension }
type TypedClient ¶
func (TypedClient[T, PT]) List ¶
func (t TypedClient[T, PT]) List(ctx context.Context, opts ...client.ListOption) ([]T, error)
Click to show internal directories.
Click to hide internal directories.