@@ -23,6 +23,7 @@ import (
2323 appsv1 "k8s.io/api/apps/v1"
2424 corev1 "k8s.io/api/core/v1"
2525 discoveryv1beta1 "k8s.io/api/discovery/v1beta1"
26+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2627 "k8s.io/apimachinery/pkg/runtime"
2728 "k8s.io/klog/v2"
2829
@@ -33,6 +34,9 @@ import (
3334 "github.com/liqotech/liqo/pkg/virtualKubelet/options/types"
3435)
3536
37+ // ReflectionFieldManager -> The name associated with the fields modified by virtual kubelet reflection.
38+ const ReflectionFieldManager = "reflection.liqo.io"
39+
3640var (
3741 // LocalClusterID -> the cluster ID associated with the local cluster.
3842 LocalClusterID string
@@ -66,8 +70,6 @@ func HomeToForeign(homeObj, foreignObj runtime.Object, reflectionType string) (r
6670 return forger .endpointsliceHomeToForeign (homeObj .(* discoveryv1beta1.EndpointSlice ), foreignObj .(* discoveryv1beta1.EndpointSlice ))
6771 case * corev1.Pod :
6872 return forger .podHomeToForeign (homeObj , foreignObj , reflectionType )
69- case * corev1.Service :
70- return forger .serviceHomeToForeign (homeObj .(* corev1.Service ), foreignObj .(* corev1.Service ))
7173 }
7274
7375 return nil , errors .Errorf ("error while creating foreign object from home: api %s unhandled" , reflect .TypeOf (homeObj ).String ())
@@ -114,7 +116,15 @@ func initIpamClient() {
114116 grpc .WithInsecure (),
115117 grpc .WithBlock ())
116118 if err != nil {
117- klog .Error ( err )
119+ klog .Fatalf ( "Failed to initialize IPAM client: %v" , err )
118120 }
119121 forger .ipamClient = liqonetIpam .NewIpamClient (conn )
120122}
123+
124+ // ApplyOptions returns the apply options configured for object reflection.
125+ func ApplyOptions () metav1.ApplyOptions {
126+ return metav1.ApplyOptions {
127+ Force : true ,
128+ FieldManager : ReflectionFieldManager ,
129+ }
130+ }
0 commit comments