scylladb / scylla-operator

The Kubernetes Operator for ScyllaDB
https://operator.docs.scylladb.com/
Apache License 2.0
339 stars 175 forks source link

Publish GitOps manifest for each release to GitHub release #2192

Open tnozicka opened 3 days ago

tnozicka commented 3 days ago

At this point, our users have to substitute the image reference in all manifest manually which is painful and has to be done on every update. And because manifest are tightly coupled to the images, the flows is like:

  1. Get the all the manifests for the new version (dozens of yaml files)
  2. Go through each of them to see if they use the operator image (also in env vars) or use grep and hope for the best.
  3. Commit the manifests to git / update

This stems from an chicken-egg issue of the manifest being consumed from the same place as the source code, so when you cut the tag, it's too late to update the manifests, otherwise it's too early. Templating and publishing them somewhere, after the tag is created, sort this issue, fixes the UX and simplifies our installation guide significantly. GitHub releases are where we "publish" our "tags" so it seems like a reasonable destination.