2525
2626import io .fabric8 .kubernetes .api .model .HasMetadata ;
2727import io .fabric8 .kubernetes .api .model .Namespaced ;
28- import io .fabric8 .kubernetes .client .dsl .Resource ;
2928import io .javaoperatorsdk .operator .api .config .dependent .Configured ;
3029import io .javaoperatorsdk .operator .api .config .informer .InformerEventSourceConfiguration ;
3130import io .javaoperatorsdk .operator .api .reconciler .Context ;
@@ -71,28 +70,10 @@ public void configureWith(KubernetesDependentResourceConfig<R> config) {
7170 this .kubernetesDependentResourceConfig = config ;
7271 }
7372
74- @ Override
75- protected R handleCreate (R desired , P primary , Context <P > context ) {
76- return eventSource ()
77- .orElseThrow ()
78- .eventFilteringUpdateAndCacheResource (
79- desired ,
80- toCreate -> KubernetesDependentResource .super .handleCreate (toCreate , primary , context ));
81- }
82-
83- @ Override
84- protected R handleUpdate (R actual , R desired , P primary , Context <P > context ) {
85- return eventSource ()
86- .orElseThrow ()
87- .eventFilteringUpdateAndCacheResource (
88- desired ,
89- toUpdate ->
90- KubernetesDependentResource .super .handleUpdate (actual , toUpdate , primary , context ));
91- }
92-
9373 @ SuppressWarnings ("unused" )
9474 public R create (R desired , P primary , Context <P > context ) {
95- if (useSSA (context )) {
75+ var ssa = useSSA (context );
76+ if (ssa ) {
9677 // setting resource version for SSA so only created if it doesn't exist already
9778 var createIfNotExisting =
9879 kubernetesDependentResourceConfig == null
@@ -104,35 +85,40 @@ public R create(R desired, P primary, Context<P> context) {
10485 }
10586 }
10687 addMetadata (false , null , desired , primary , context );
107- final var resource = prepare (context , desired , primary , "Creating" );
108- return useSSA (context )
109- ? resource
110- .fieldManager (context .getControllerConfiguration ().fieldManager ())
111- .forceConflicts ()
112- .serverSideApply ()
113- : resource .create ();
88+ log .debug (
89+ "Creating target resource with type: {}, with id: {} use ssa: {}" ,
90+ desired .getClass (),
91+ ResourceID .fromResource (desired ),
92+ ssa );
93+
94+ return ssa
95+ ? context .resourceOperations ().serverSideApply (desired , eventSource ().orElse (null ))
96+ : context .resourceOperations ().create (desired , eventSource ().orElse (null ));
11497 }
11598
11699 public R update (R actual , R desired , P primary , Context <P > context ) {
117- boolean useSSA = useSSA (context );
100+ boolean ssa = useSSA (context );
118101 if (log .isDebugEnabled ()) {
119102 log .debug (
120103 "Updating actual resource: {} version: {}; SSA: {}" ,
121104 ResourceID .fromResource (actual ),
122105 actual .getMetadata ().getResourceVersion (),
123- useSSA );
106+ ssa );
124107 }
125108 R updatedResource ;
126109 addMetadata (false , actual , desired , primary , context );
127- if (useSSA ) {
110+ log .debug (
111+ "Updating target resource with type: {}, with id: {} use ssa: {}" ,
112+ desired .getClass (),
113+ ResourceID .fromResource (desired ),
114+ ssa );
115+ if (ssa ) {
128116 updatedResource =
129- prepare (context , desired , primary , "Updating" )
130- .fieldManager (context .getControllerConfiguration ().fieldManager ())
131- .forceConflicts ()
132- .serverSideApply ();
117+ context .resourceOperations ().serverSideApply (desired , eventSource ().orElse (null ));
133118 } else {
134119 var updatedActual = GenericResourceUpdater .updateResource (actual , desired , context );
135- updatedResource = prepare (context , updatedActual , primary , "Updating" ).update ();
120+ updatedResource =
121+ context .resourceOperations ().update (updatedActual , eventSource ().orElse (null ));
136122 }
137123 log .debug (
138124 "Resource version after update: {}" , updatedResource .getMetadata ().getResourceVersion ());
@@ -203,17 +189,6 @@ public void deleteTargetResource(P primary, R resource, ResourceID key, Context<
203189 context .getClient ().resource (resource ).delete ();
204190 }
205191
206- @ SuppressWarnings ("unused" )
207- protected Resource <R > prepare (Context <P > context , R desired , P primary , String actionName ) {
208- log .debug (
209- "{} target resource with type: {}, with id: {}" ,
210- actionName ,
211- desired .getClass (),
212- ResourceID .fromResource (desired ));
213-
214- return context .getClient ().resource (desired );
215- }
216-
217192 protected void addReferenceHandlingMetadata (R desired , P primary ) {
218193 if (addOwnerReference ()) {
219194 desired .addOwnerReference (primary );
0 commit comments