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

Clarification on ConfigMap update-graph and Image Configuration in the Operator #351

Open
yanmxa opened this issue Feb 17, 2025 · 1 comment

Comments

@yanmxa
Copy link

yanmxa commented Feb 17, 2025

What is the role of the ConfigMap update-graph in the operator? I noticed it is referenced but couldn't find any detailed description in the documentation. Could you provide more insight into its purpose and functionality?

Additionally, there is an imageName field in the ConfigMap, but the operand (SpicedbCluster) also provides a way to configure the image. What is the difference between these two configurations, and which one should be used to set the image?

reference: https://github.com/authzed/spicedb-operator/blob/main/config/update-graph.yaml, #327

@tstirrat15
Copy link
Contributor

The update describes a path between SpiceDB versions that are known to be fully compatible with each other. The idea is that as the operator upgrades a set of SpiceDB nodes, it will walk the graph between the version you're on and the desired version.

A concrete example of this: we introduced a new implementation of LookupResources in one version of SpiceDB and deprecated the old implementation in a subsequent version. SpiceDB dispatches LookupResources subproblems between nodes. If you were to upgrade directly from a earlier version to the version where the old LR was deprecated, you would potentially have request failures on LookupResources, because dispatches between new nodes and old nodes would fail. Walking the update graph avoids this by doing intermediate upgrades.

The image on the SpiceDBCluster gives you a means of pinning to a specific image for specific use cases, but it's meant as an escape hatch, not a normal way of using it: https://github.com/authzed/spicedb-operator?tab=readme-ov-file#force-override

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants