Hey!

Thanks for the proposal.

In general I think it’s a good idea to expose a pluggable reconciler mechanism. 
Maybe ForceReconciler is not a good name (not sure what is forceful about it :) 
) probably simply FlinkResourceReconciler would do .

The questions in this particular case for the env variable based reconciliation 
is whether this is something that we should support as a feature or not .

I think both of these would deserve their independent FLIP with the interfaces 
and 1-2 example implementations to put them into context .

Cheers
Gyula

Sent from my iPhone

> On 10 Nov 2025, at 13:39, David Radley <[email protected]> wrote:
> 
> Hi,
> We are opinionated about which Flink image we would like the Flink Kubernetes 
> operator to use. So in the flink-kubenetes-operator  the ReconciliationUtils 
> prior to [1] we are patching in code to trigger the update of the 
> FlinkDeployment resource if needed with a new Flink image from an environment 
> variable.
> 
> We would like to avoid needing to patch the code, so are thinking that the 
> way to do this would be to have a new discover pattern to bring in our code 
> from the plugins folder in a similar way to ListenerUtils[2], that would 
> allow us to  force an update of the Flink Deployment with something like:
> 
> 
> forceReconcilers= ReconciliationUtils.discoverForceReconcilers(configManager);
> 
> 
> for ( ForceReconciler  forceReconciler: forceReconcilers) {
> 
>    If (forceReconciler.shouldForceUpdate(current)) {
> 
>           updateControl = UpdateControl.updateResource(current);
> 
>    }
> 
> }
> 
> 
> Just before [1].
> 
> This would allow us to supply code as a plugin that would test our 
> environment variable and see if we need to force an update of the deployment.
> 
> I am happy to code this ,
>       Kind regards, David.
> 
> [1] 
> https://github.com/apache/flink-kubernetes-operator/blob/eb99c5a12c6d93b9f303d8ac8d028ab28bb13689/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/ReconciliationUtils.java#L290
> [2] 
> https://github.com/apache/flink-kubernetes-operator/blob/eb99c5a12c6d93b9f303d8ac8d028ab28bb13689/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/listener/ListenerUtils.java#L69C53-L69C70
> 
> Kind regards, David.
> 
> 
> Unless otherwise stated above:
> 
> IBM United Kingdom Limited
> Registered in England and Wales with number 741598
> Registered office: Building C, IBM Hursley Office, Hursley Park Road, 
> Winchester, Hampshire SO21 2JN
> 
> Unless otherwise stated above:
> 
> IBM United Kingdom Limited
> Registered in England and Wales with number 741598
> Registered office: Building C, IBM Hursley Office, Hursley Park Road, 
> Winchester, Hampshire SO21 2JN

Reply via email to