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 GWClassName apiv1.ObjectName 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 is utilized by the debug.ProxyEndpointServer ProxyClient v1.ProxyClient // AuthConfigClient is the client used for retrieving AuthConfig objects within the Portal Plugin AuthConfigClient api.AuthConfigClient // RouteOptionClient is the client used for retrieving RouteOption objects within the RouteOptionsPlugin // NOTE: We may be able to move this entirely to the RouteOptionsPlugin RouteOptionClient gatewayv1.RouteOptionClient // VirtualHostOptionClient is the client used for retrieving VirtualHostOption objects within the VirtualHostOptionsPlugin // NOTE: We may be able to move this entirely to the VirtualHostOptionsPlugin VirtualHostOptionClient gatewayv1.VirtualHostOptionClient // StatusReporter is used within any StatusPlugins that must persist a GE-classic style status StatusReporter reporter.StatusReporter // A callback to initialize the gateway status syncer with the same dependencies // as the gateway controller (in another start func) // TODO(ilackarms) refactor to enable the status syncer to be started in the same start func QueueStatusForProxies proxy_syncer.QueueStatusForProxiesFn // SnapshotHistory is used for debugging purposes // The controller updates the History with the Kubernetes Client is used, and the History is then used by the Admin Server SnapshotHistory iosnapshot.History }
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.