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
}
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.