pulumi/pulumi-kubernetes-operator

Implement a way to trigger a reconcile

jaxxstorm opened this issue · 1 comments

There are circumstances whereby you don't want to wait for the operator reconcile loop to do it's thing.

If you need to provision infrastructure "right now" and you're in a backoff loop, having a way to trigger a reconcile manually seems like a good addition.

I've seen this implemented in other operators by hitting an endpoint with curl, for example

Thanks for submitting this enhancement request as there are some scenarios where this could be useful. I believe that this is already implemented.

Starting from version 1.12.0 of the operator, a new annotation called pulumi.com/reconciliation-request has been introduced. By updating the value of this annotation to a unique value, you can manually trigger the reconciliation of a Stack CR. Subsequently, the controller will store the value of this annotation in the .status.observedReconcileRequest field. Similar to the .status.observedGeneration field, you can monitor the status to determine if the controller has detected the updated annotation. This approach eliminates the need for an external HTTP server and provides a KRM-friendly method to initiate a manual reconcile.

Example:

NEW_VALUE=$(uuidgen)
kubectl annotate stack <stack-name> pulumi.com/reconciliation-request="$NEW_VALUE" --overwrite