Skip to content
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

Check "enforcecompatibility" capability - does it make sense? #259

Closed
duglin opened this issue Feb 12, 2025 · 5 comments · Fixed by #266
Closed

Check "enforcecompatibility" capability - does it make sense? #259

duglin opened this issue Feb 12, 2025 · 5 comments · Fixed by #266
Assignees
Labels
AddToSpec v1-rc1 v1 Required to be resolved for v1

Comments

@duglin
Copy link
Contributor

duglin commented Feb 12, 2025

No description provided.

@duglin
Copy link
Contributor Author

duglin commented Feb 12, 2025

The spec says:

Attempts to change this value from `false` to `true` MUST fail if doing so would result in any
existing Version violating the compatibility rules defined for the owning Resource.

So, I think the concern about the state of the system becoming invalid due to changing this capability is addressed, no? @lailabougria thoughts?

Also, right now this capability is a registry-global flag. Are we still ok with that?

@lailabougria
Copy link
Contributor

In essence it does but something still feels off. When I look at the other capabilities, this seems to be one that has very different kinds of effect on the registry as it requires a full revalidation where others are more "flag"-type settings that don't affect the content of the registry (although maybe specversion would have a similar effect?). EiIt appears like a different beast compared to the other settings.

That also makes me wonder: would it make sense to have a different compatibility strategy per resource, but the resources still registered as part of the same registry? I think that's possible, and in that case it would make more sense on a resource level, which also alleviates the point about this being a different type of setting with very different effects on the registry.

@duglin
Copy link
Contributor Author

duglin commented Feb 13, 2025

Let's discuss this on tomorrow's call - I do see your point (especially the "just a flag" vs "re-validation" aspect).

@duglin
Copy link
Contributor Author

duglin commented Feb 18, 2025

Proposal:

Open questions:

  • if someone did define an "enforcecompatibility" type of flag, how would they know the order of the Versions to perform the checks?

@duglin
Copy link
Contributor Author

duglin commented Feb 19, 2025

2/19 - @lailabougria will think about how to spec/implement a compat check when there's no mechanism in the spec to know the order of the versions (when sticky is supported).

Might adopt the proposal as "good enough" for v1 but will wait until next week to decide.

@duglin duglin added the v1 Required to be resolved for v1 label Mar 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AddToSpec v1-rc1 v1 Required to be resolved for v1
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants