@@ -11,6 +11,7 @@ import (
1111 // to ensure that exec-entrypoint and run can make use of them.
1212 _ "k8s.io/client-go/plugin/pkg/client/auth"
1313
14+ envoygatewayv1alpha1 "github.com/envoyproxy/gateway/api/v1alpha1"
1415 multiclusterproviders "go.miloapis.com/milo/pkg/multicluster-runtime"
1516 milomulticluster "go.miloapis.com/milo/pkg/multicluster-runtime/milo"
1617 "golang.org/x/sync/errgroup"
@@ -35,10 +36,10 @@ import (
3536 networkingv1alpha "go.datum.net/network-services-operator/api/v1alpha"
3637 "go.datum.net/network-services-operator/internal/config"
3738 "go.datum.net/network-services-operator/internal/controller"
38- "go.datum.net/network-services-operator/internal/validation"
3939 networkingwebhook "go.datum.net/network-services-operator/internal/webhook"
4040 networkinggatewayv1webhooks "go.datum.net/network-services-operator/internal/webhook/v1"
4141 networkingv1alphawebhooks "go.datum.net/network-services-operator/internal/webhook/v1alpha"
42+ webhookgatewayv1alpha1 "go.datum.net/network-services-operator/internal/webhook/v1alpha1"
4243 // +kubebuilder:scaffold:imports
4344)
4445
@@ -57,9 +58,11 @@ func init() {
5758 utilruntime .Must (gatewayv1 .Install (scheme ))
5859 utilruntime .Must (gatewayv1alpha2 .Install (scheme ))
5960 utilruntime .Must (gatewayv1alpha3 .Install (scheme ))
61+ utilruntime .Must (envoygatewayv1alpha1 .AddToScheme (scheme ))
6062 // +kubebuilder:scaffold:scheme
6163}
6264
65+ // nolint:gocyclo
6366func main () {
6467 var enableLeaderElection bool
6568 var leaderElectionNamespace string
@@ -227,6 +230,14 @@ func main() {
227230 os .Exit (1 )
228231 }
229232
233+ if err := (& controller.GatewayResourceReplicatorReconciler {
234+ Config : serverConfig ,
235+ DownstreamCluster : downstreamCluster ,
236+ }).SetupWithManager (mgr ); err != nil {
237+ setupLog .Error (err , "unable to create controller" , "controller" , "GatewayResourceReplicator" )
238+ os .Exit (1 )
239+ }
240+
230241 if err := (& controller.DomainReconciler {
231242 Config : serverConfig ,
232243 }).SetupWithManager (mgr ); err != nil {
@@ -239,19 +250,17 @@ func main() {
239250 os .Exit (1 )
240251 }
241252
242- validationOpts := validation.GatewayValidationOptions {
243- ControllerName : serverConfig .Gateway .ControllerName ,
244- PermittedTLSOptions : serverConfig .Gateway .PermittedTLSOptions ,
245- ValidPortNumbers : serverConfig .Gateway .ValidPortNumbers ,
246- ValidProtocolTypes : serverConfig .Gateway .ValidProtocolTypes ,
253+ if err := networkinggatewayv1webhooks .SetupGatewayWebhookWithManager (mgr , serverConfig ); err != nil {
254+ setupLog .Error (err , "unable to create webhook" , "webhook" , "Gateway" )
255+ os .Exit (1 )
247256 }
248257
249- if err := networkinggatewayv1webhooks .SetupGatewayWebhookWithManager (mgr , validationOpts ); err != nil {
250- setupLog .Error (err , "unable to create webhook" , "webhook" , "Gateway " )
258+ if err := networkinggatewayv1webhooks .SetupHTTPRouteWebhookWithManager (mgr , serverConfig ); err != nil {
259+ setupLog .Error (err , "unable to create webhook" , "webhook" , "HTTPRoute " )
251260 os .Exit (1 )
252261 }
253262
254- if err := networkinggatewayv1webhooks .SetupHTTPRouteWebhookWithManager (mgr ); err != nil {
263+ if err := networkinggatewayv1webhooks .SetupBackendTLSPolicyWebhookWithManager (mgr ); err != nil {
255264 setupLog .Error (err , "unable to create webhook" , "webhook" , "HTTPRoute" )
256265 os .Exit (1 )
257266 }
@@ -261,6 +270,26 @@ func main() {
261270 os .Exit (1 )
262271 }
263272
273+ if err = webhookgatewayv1alpha1 .SetupBackendTrafficPolicyWebhookWithManager (mgr , serverConfig ); err != nil {
274+ setupLog .Error (err , "unable to create webhook" , "webhook" , "BackendTrafficPolicy" )
275+ os .Exit (1 )
276+ }
277+
278+ if err = webhookgatewayv1alpha1 .SetupSecurityPolicyWebhookWithManager (mgr , serverConfig ); err != nil {
279+ setupLog .Error (err , "unable to create webhook" , "webhook" , "SecurityPolicy" )
280+ os .Exit (1 )
281+ }
282+
283+ if err = webhookgatewayv1alpha1 .SetupHTTPRouteFilterWebhookWithManager (mgr , serverConfig ); err != nil {
284+ setupLog .Error (err , "unable to create webhook" , "webhook" , "HTTPRouteFilter" )
285+ os .Exit (1 )
286+ }
287+
288+ if err = webhookgatewayv1alpha1 .SetupBackendWebhookWithManager (mgr ); err != nil {
289+ setupLog .Error (err , "unable to create webhook" , "webhook" , "Backend" )
290+ os .Exit (1 )
291+ }
292+
264293 // +kubebuilder:scaffold:builder
265294
266295 if err := mgr .AddHealthzCheck ("healthz" , healthz .Ping ); err != nil {
0 commit comments