-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Artifact versions ordering #101
Comments
This is an interesting use-case. The issue we have today is that version numbers are not meaningful to the registry, especially when provided by the client (as I think is being done in this case). In other words, registry doesn't really know that 2 should come after 1. So if 2 is added first, and then 1 is added, registry will think that 1 is the latest version. Which is obviously not ideal. So it would be up to the client to ensure proper ordering of operations based on whatever criteria is desired. In this case, I think you're suggesting (correctly) that the sync operator should sort the versions to ensure consistent ordering. I agree, although we should probably support three (configurable?) sorting algorithms:
|
hmm. that is not what I see. If I create a spec with:
then I do see it in the registry, as expected:
sorting is one thing when all artifacts are there is one thing. this is very important because gitops tooling does not always enforce strict ordering. it assumes desired state principle only.
seems reasonable. |
Understood. We've been discussing the gitops use-case internally the last week or two, actually. There is definitely some work to do to facilitate it. There are some design choices (immutability of versions, for example) that are impactful. We may need to loosen some restrictions we currently have, and add some features we currently do not have (like deleting versions), in order to properly support the use-case. With the assumption that in a GitOps configuration, only one (or very few) service accounts will be responsible for all WRITE operations. And users will be restricted to READ-ONLY access. |
yes. this is exactly our situation. |
hello, any news on this? |
Nothing concrete at the moment. The GitOps use-case is important and something we're talking about in various contexts here at Red Hat. But we don't have a specific path planned yet, I'm sorry to say. |
any news on this? |
The only news we have for this is that we have started working on a Gitops storage variant for Apicurio Registry v3 that will add those capabilities to the application. Once V3 is released there will be documentation for it. |
When
Artifact
CRs are applied in parallel, there is a non deterministic provisioning of schemas in the registry.For instance if I apply:
and at the same time:
sometimes the different versions will be registered as 1 and 2 (2 is being the latest), and sometimes it will be 2 and 1 (1 is the latest).
we need versions to be strictly ordered in a deterministic way.
specifically if on day 1 I push version 2, it should be considered the only and latest version.
and if on day 2 I push version 1, then it should create version 1 in the registry prior to version 2, and latest stays on version 2.
with that improvement, I could apply
Artifact
CRs in any order, which means also that I could apply them in parallel.The text was updated successfully, but these errors were encountered: