Skip to content

[v13] Add access lists, members, and reviews to cache.#36334

Merged
mdwn merged 5 commits intobranch/v13from
mike.wilson/v13-access-list-cache-backport
Jan 9, 2024
Merged

[v13] Add access lists, members, and reviews to cache.#36334
mdwn merged 5 commits intobranch/v13from
mike.wilson/v13-access-list-cache-backport

Conversation

@mdwn
Copy link
Copy Markdown
Contributor

@mdwn mdwn commented Jan 5, 2024

Backport #36020 to branch/v13.

changelog: Access lists and associated resources are now cached, which should significantly reduce the impact of access list calculation.

Note: This backport is manual to resolve differences in the event proto, a few types that exist in master and not v13, and the change in the generic function signatures not having been backported.

Access lists, members, and reviews have been added to the cache. To do this,
I have created a simple backend that doesn't perform the validation that is
performed by the main access list backend and only implements a subset of
actions that are needed by the cache.

To support this, I've added in new gRPC methods:
ListAllAccessListMembers and ListAllAccessListReviews. These do not lock
any access lists and additionally do not perform any implicit or dynamic
members, but just simply return the full list of all members and reviews
so that these endpoints can be used to populate the cache.

The general thought here that, since the order of cache events cannot be
guaranteed, we'll rely on the auth server to perform the proper backend
validation and use a simplified backend that simply sees if the items
are present in the cache. If so, we'll return them.

I've had to update a few protos to support this. While I was here, I
fixed a bug in the access list gRPC client where the call tolist of reviews
was not supplying the access list name. Additionally, the user login
state generator will now use the cached access list values.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 5, 2024

The PR changelog entry failed validation: Changelog entry not found in the PR body. Please add a "no-changelog" label to the PR, or changelog lines starting with changelog: followed by the changelog entries for the PR.

@espadolini
Copy link
Copy Markdown
Contributor

FYI there's still spurious compile failures and test failures.

@mdwn
Copy link
Copy Markdown
Contributor Author

mdwn commented Jan 8, 2024

FYI there's still spurious compile failures and test failures.

Yeah, sorry about that. Got caught up in other things, will handle in the morning.

@public-teleport-github-review-bot public-teleport-github-review-bot Bot removed the request for review from fspmarshall January 9, 2024 01:27
@mdwn mdwn added this pull request to the merge queue Jan 9, 2024
Merged via the queue into branch/v13 with commit e978ac9 Jan 9, 2024
@mdwn mdwn deleted the mike.wilson/v13-access-list-cache-backport branch January 9, 2024 16:11
@camscale camscale mentioned this pull request Jan 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants