Documentation
¶
Index ¶
- func ApplyIndexing(ctx context.Context, ...) error
- func MustInitializeScheme(scheme *runtime.Scheme)
- func NewSecretController(client client.Client, kubeClient kubernetes.Interface, logger logr.Logger, ...) reconcile.TypedReconciler[reconcile.Request]
- func StartControllers(ctx context.Context, config *rest.Config, logger logr.Logger, options Options) error
- type AIBackendController
- type AIGatewayRouteController
- type BackendSecurityPolicyController
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyIndexing ¶
func ApplyIndexing(ctx context.Context, indexer func(ctx context.Context, obj client.Object, field string, extractValue client.IndexerFunc) error) error
ApplyIndexing applies indexing to the given indexer. This is exported for testing purposes.
func MustInitializeScheme ¶
MustInitializeScheme initializes the scheme with the necessary schemas for the AI Gateway. This is exported for the testing purposes.
func NewSecretController ¶
func NewSecretController(client client.Client, kubeClient kubernetes.Interface, logger logr.Logger, syncBackendSecurityPolicy syncBackendSecurityPolicyFn, ) reconcile.TypedReconciler[reconcile.Request]
NewSecretController creates a new reconcile.TypedReconciler[reconcile.Request] for corev1.Secret.
func StartControllers ¶
func StartControllers(ctx context.Context, config *rest.Config, logger logr.Logger, options Options) error
StartControllers starts the controllers for the AI Gateway. This blocks until the manager is stopped.
Note: this is tested with envtest, hence the test exists outside of this package. See /tests/controller_test.go.
Types ¶
type AIBackendController ¶
type AIBackendController struct {
// contains filtered or unexported fields
}
AIBackendController implements reconcile.TypedReconciler for aigv1a1.AIServiceBackend.
Exported for testing purposes.
func NewAIServiceBackendController ¶
func NewAIServiceBackendController(client client.Client, kube kubernetes.Interface, logger logr.Logger, syncRoute syncAIGatewayRouteFn) *AIBackendController
NewAIServiceBackendController creates a new reconcile.TypedReconciler for aigv1a1.AIServiceBackend.
func (*AIBackendController) Reconcile ¶
func (c *AIBackendController) Reconcile(ctx context.Context, req reconcile.Request) (reconcile.Result, error)
Reconcile implements the reconcile.TypedReconciler for aigv1a1.AIServiceBackend.
type AIGatewayRouteController ¶
type AIGatewayRouteController struct {
// contains filtered or unexported fields
}
AIGatewayRouteController implements reconcile.TypedReconciler.
This handles the AIGatewayRoute resource and creates the necessary resources for the external process.
Exported for testing purposes.
func NewAIGatewayRouteController ¶
func NewAIGatewayRouteController( client client.Client, kube kubernetes.Interface, logger logr.Logger, extProcImage, extProcLogLevel string, ) *AIGatewayRouteController
NewAIGatewayRouteController creates a new reconcile.TypedReconciler[reconcile.Request] for the AIGatewayRoute resource.
type BackendSecurityPolicyController ¶
type BackendSecurityPolicyController struct {
// contains filtered or unexported fields
}
BackendSecurityPolicyController implements reconcile.TypedReconciler for aigv1a1.BackendSecurityPolicy.
Exported for testing purposes.
func NewBackendSecurityPolicyController ¶
func NewBackendSecurityPolicyController(client client.Client, kube kubernetes.Interface, logger logr.Logger, syncAIServiceBackend syncAIServiceBackendFn) *BackendSecurityPolicyController
func (*BackendSecurityPolicyController) Reconcile ¶
func (c *BackendSecurityPolicyController) Reconcile(ctx context.Context, req ctrl.Request) (res ctrl.Result, err error)
Reconcile implements the reconcile.TypedReconciler for aigv1a1.BackendSecurityPolicy.