diff --git a/main.go b/main.go index 6bcdf45d..69a82fdf 100644 --- a/main.go +++ b/main.go @@ -28,6 +28,9 @@ func main() { if err != nil { klog.Fatalf("Error initializing plugin: %v", err) } + if registerCtx.TargetNamespace == "" { + registerCtx.TargetNamespace = registerCtx.CurrentNamespace + } c := os.Getenv(ConfigurationEnvVar) if c == "" { diff --git a/pkg/syncer/from_virtual_syncer.go b/pkg/syncer/from_virtual_syncer.go index 98fd87ed..240aa156 100644 --- a/pkg/syncer/from_virtual_syncer.go +++ b/pkg/syncer/from_virtual_syncer.go @@ -78,19 +78,11 @@ func (f *fromVirtualController) SyncDown(ctx *synccontext.SyncContext, vObj clie if isControlled(vObj) || !f.objectMatches(vObj) { return ctrl.Result{}, nil } - - // apply object to physical cluster - ctx.Log.Infof("Create physical %s %s/%s, since it is missing, but virtual object exists", f.config.Kind, vObj.GetNamespace(), vObj.GetName()) - _, err := f.patcher.ApplyPatches(ctx.Context, vObj, nil, f.config.Patches, f.config.ReversePatches, func(vObj client.Object) (client.Object, error) { - return f.TranslateMetadata(vObj), nil - }, &virtualToHostNameResolver{namespace: vObj.GetNamespace(), targetNamespace: f.targetNamespace}) - if err != nil { - f.EventRecorder().Eventf(vObj, "Warning", "SyncError", "Error syncing to physical cluster: %v", err) - return ctrl.Result{}, fmt.Errorf("error applying patches: %v", err) - } - - return ctrl.Result{}, nil + // create object in physical cluster + ctx.Log.Infof("SyncDown called for %s", vObj.GetName()) + return f.SyncDownCreate(ctx, vObj, f.TranslateMetadata(vObj)) } + func (f *fromVirtualController) isExcluded(pObj client.Object) bool { labels := pObj.GetLabels() return labels == nil || labels[controlledByLabel] != f.getControllerID()