scylla-operator
scylla-operator copied to clipboard
Support sha references to scylla images
What should the feature do:
Currently scylla images can be specified only with a tag that has to be a semver. This dosn't work for named references like latest
, rolling update references like 4.4
(sort of) and for sha references. As images can be overwritten sha reference is the only reliable way to always reference the same image.
As we need to know the information in the operator we can't just download and run the image to find out but when buliding the image we could set an image label that the operator would retrieve. The label is stored in the image manifest that can be downloaded separately from a container registry at low cost and the result can be cached.
Needs cooperation from scylla.
(Look at libs like github.com/containers/image/v5
)
Step one would be a PoC to validate the approach and start adding the label to scylla images. We then have to wait for the old image to become unsupported and we can add the new logic to the operator. Possibly we could fallback to parsing from the imageref to avoid the wait.
When that done we should fix ScyllaCluster API to use an image ref as the upstream does, instead of the 2 separate fields (repository + version). We'll have to support the old API still.
@rzetelskik can you link the PoC you did?
I don't thing we've written a proposal but (for the record) the next step would be to get a label into scylla container images.
@tnozicka if you mean the PoC for fetching the manifests and extracting labels then this is the the code using containers/image in a CLI tool mimicking skopeo for docker transport
only: rzetelskik/labels-poc.
Should I go ahead and start adding label extraction to the operator?
the next step would be to get a label into scylla container images
This isn't on us though, is it?
The Scylla Operator project currently lacks enough contributors to adequately respond to all issues.
This bot triages un-triaged issues according to the following rules:
- After 30d of inactivity,
lifecycle/stale
is applied - After 30d of inactivity since
lifecycle/stale
was applied,lifecycle/rotten
is applied - After 30d of inactivity since
lifecycle/rotten
was applied, the issue is closed
You can:
- Mark this issue as fresh with
/remove-lifecycle stale
- Close this issue with
/close
- Offer to help out
/lifecycle stale
/remove-lifecycle stale /triage accepted