Documentation
¶
Index ¶
- Constants
- Variables
- func ApplyIndexing(ctx context.Context, ...) error
- func FilterConfigSecretPerGatewayName(gwName, gwNamespace string) string
- func NewSecretController(client client.Client, kubeClient kubernetes.Interface, logger logr.Logger, ...) reconcile.TypedReconciler[reconcile.Request]
- func StartControllers(ctx context.Context, mgr manager.Manager, config *rest.Config, ...) (err error)
- func TypedControllerBuilderForCRD(mgr ctrl.Manager, obj client.Object) *ctrl.Builder
- type AIBackendController
- type AIGatewayRouteController
- type BackendSecurityPolicyController
- type GatewayController
- type Options
Constants ¶
const ( // FilterConfigKeyInSecret is the key to store the filter config in the secret. FilterConfigKeyInSecret = "filter-config.yaml" //nolint: gosec )
Variables ¶
var Scheme = runtime.NewScheme()
Scheme contains the necessary schemes for the AI Gateway.
This is exported for testing purposes.
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 FilterConfigSecretPerGatewayName ¶ added in v0.2.0
func NewSecretController ¶
func NewSecretController(client client.Client, kubeClient kubernetes.Interface, logger logr.Logger, backendSecurityPolicyEventChan chan event.GenericEvent, ) reconcile.TypedReconciler[reconcile.Request]
NewSecretController creates a new reconcile.TypedReconciler[reconcile.Request] for corev1.Secret.
func StartControllers ¶
func StartControllers(ctx context.Context, mgr manager.Manager, config *rest.Config, logger logr.Logger, options Options) (err 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.
func TypedControllerBuilderForCRD ¶ added in v0.2.0
TypedControllerBuilderForCRD returns a new controller builder for the given CRD object type.
This is to share the common logic for setting up a controller for a given object type.
Exported for testing purposes in 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, aiGatewayRouteChan chan event.GenericEvent) *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, gatewayEventChan chan event.GenericEvent, ) *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, aiServiceBackendEventChan chan event.GenericEvent) *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.
type GatewayController ¶ added in v0.2.0
type GatewayController struct {
// contains filtered or unexported fields
}
GatewayController implements reconcile.TypedReconciler for gwapiv1.Gateway.
func NewGatewayController ¶ added in v0.2.0
func NewGatewayController( client client.Client, kube kubernetes.Interface, logger logr.Logger, envoyGatewayNamespace, udsPath string, ) *GatewayController
NewGatewayController creates a new reconcile.TypedReconciler for gwapiv1.Gateway.
type Options ¶
type Options struct {
// ExtProcLogLevel is the log level for the external processor, e.g., debug, info, warn, or error.
ExtProcLogLevel string
// ExtProcImage is the image for the external processor set on Deployment.
ExtProcImage string
// EnableLeaderElection enables leader election for the controller manager.
// Enabling this ensures there is only one active controller manager.
EnableLeaderElection bool
// EnvoyGatewayNamespace is the namespace where the Envoy Gateway system resources are deployed.
EnvoyGatewayNamespace string
// UDSPath is the path to the UDS socket for the external processor.
UDSPath string
// DisableMutatingWebhook disables the mutating webhook for the Gateway for testing purposes.
DisableMutatingWebhook bool
}
Options defines the program configurable options that may be passed on the command line.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package rotators provides credential rotation implementations.
|
Package rotators provides credential rotation implementations. |