I've been looking into how the ECK operator upsizes the persistent volumes being used by the ES cluster. Looking at the PR that added this functionality and reading the comments I wanted to confirm my understanding is correct that the StatefulSets' recreation is coordinated with special annotations added to the same ES custom resource object that the operator listens to for performing cluster updates. If so, what stops a client from overwriting these annotations and interfering with the StatefulSet recreation?
I was also wondering why this approach was taken rather than blocking to sequentially delete and recreate each relevant StatefulSet, avoiding using k8s annotations to coordinate recreation entirely?
I haven't dug too deeply into the codebase so was hoping to get some pointers on where my understanding may be off.