* Shrink the interface needed by GetMembersFor
* Avoid reentrancy in Cache.GetAccessListOwners
* Try deadlocking in TestGetAccessListOwners
* Use a struct for accessListMembersListerStore
Co-authored-by: Marek Smoliński <marek@goteleport.com>
---------
Co-authored-by: Marek Smoliński <marek@goteleport.com>
* Convert existing non-gogo codegen to the Hybrid API
Contributes to https://github.com/gravitational/teleport/issues/66776.
All existing protos explicitly set to API_OPEN have been change to
API_HBYRID. The new codegen was performed via make grpc. There are no
other functional changes to the code to start consuming the Hybrid API
those will come later. The intent is to get all Hybrid codegen in and
backported to ease the transition.
* Initial migration to the Opaque API
Contributes to https://github.com/gravitational/teleport/issues/66776.
All of the changes here are mechanical conversions generated from
`open2opaque rewrite -levels=green ./...`. There will be a follow up
to this in teleport.e which does the same. Once all changes have been
merged the process will be repeated with -levels=yellow followed by
-levels=red.
See https://protobuf.dev/reference/go/opaque-migration/ for more
details.
* Update suggested reviewers to include owners of JIT access lists
* Replace undefined with empty array so data serialises without error
* Use consistent proto naming
Co-authored-by: Marek Smoliński <marek@goteleport.com>
* Remove unused req return value from reviewer list function
* Remove suggested reviewers logic from OSS API
* Tests and tidy up
* Refactoring
* wip
* Remove changes addresses in a separate PR
* Remove proto for reviewers
* Add godoc
---------
Co-authored-by: Marek Smoliński <marek@goteleport.com>
Swaps the lite backend for the memory backend in all tests that
can allow it. This could lead to reducing test times and is a
workaround for https://github.com/gravitational/teleport/issues/60127
- which is being addressed seperately.
The _only_ tests which have a hard requirement to use the sqlite backend
those which create a teleport process via service.NewTeleport. These
processes validate the the backend type is _not_ memory as that's not
a valid backend for a real Teleport process.
Moves access lists, access list members and access list reviews
to the new cache collection scheme that was introduced in #52210.
No additional functionality changes have been made here. This should
be a purely mechanical translation to the new internal caching machinery.