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

Add support for 'zookie' protocol as described in Zanzibar spec #161

Closed
akajla09 opened this issue Jun 19, 2023 · 0 comments
Closed

Add support for 'zookie' protocol as described in Zanzibar spec #161

akajla09 opened this issue Jun 19, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@akajla09
Copy link
Member

Is your feature request related to a problem? Please describe.
The Google Zanzibar paper describes a 'zookie' protocol that:

  • allows clients to dictate desired 'freshness' for authz checks based on a supplied zookie token
  • gives the server flexibility to implement caches that optimize for latency given clients' tolerance for 'freshness'

Describe the solution you'd like
Implement a similar 'zookie' protocol in the warrant server. Specifically:

  • Server should pass back an opaque 'Warrant-Token' on API calls that clients can cache and pass on subsequent checks. This token bookmarks a specific write and allows the server to determine its own 'freshness' on later checks.
  • At check time, the server compares the client-passed token to its own token(s) (could be multiple if multiple caches) and utilizes a cache/datastore that is 'at least as fresh as' the client-passed token to serve the request.
  • If a client does not pass a Warrant-Token, use the most up-to-date store (likely the db) to serve the request (preserving current functionality for backwards-compatibility)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant