mirror of
https://github.com/gravitational/teleport.git
synced 2026-08-29 05:27:37 +08:00
60a7e68e07
Adds two proto files that together define the session summary search
feature.
proto/accessgraph/v1/session_search.proto — internal, Auth->Access Graph
Used exclusively by the Auth server. Defines SessionRecordingService
with two RPCs:
- SearchSessionSummaries: a bidirectional streaming RPC the Auth
server uses to paginate through session summaries stored in the
Access Graph. The Auth server sends search_params on the first
message, receives batches of SessionSummary results each
terminated by a PageComplete, and sends FetchMore to advance pages.
Each SessionSummary includes session_end_event — the raw audit
event the Auth server evaluates against the requesting user's RBAC
permissions before deciding whether to forward the result to client.
- StoreSessionSummary: used by the summarizer pipeline to persist
session summaries and their vector embeddings to the Access Graph.
api/proto/teleport/sessionsearch/v1/session_search.proto — public, Client->Auth
Used by Teleport clients (tsh, web UI handler, etc.). Defines
SessionSearchService.SearchSessionSummaries as a unary-request /
server-streaming RPC. The Auth server implements this service: it
receives the client's filter criteria, fans out to the Access Graph
via the internal bidi stream above (handling all pagination
internally), filters each result using session_end_event, and streams
only the permitted SessionSummary results back. Clients see a single
continuous stream with no pagination mechanics exposed to them.
Signed-off-by: Tiago Silva <tiago.silva@goteleport.com>
109 lines
4.1 KiB
YAML
109 lines
4.1 KiB
YAML
version: v2
|
|
|
|
modules:
|
|
- path: api/proto
|
|
- path: proto
|
|
|
|
deps:
|
|
# gogo/protobuf v1.3.2, keep in sync with build.assets/versions.mk.
|
|
- buf.build/gogo/protobuf:b03c65ea87cdc3521ede29f62fe3ce239267c1bc
|
|
- buf.build/googleapis/googleapis:beb34b4050abfcfff72ff5cc6a28f0afa4043ce0
|
|
|
|
lint:
|
|
use:
|
|
- STANDARD
|
|
- COMMENT_ENUM
|
|
- COMMENT_MESSAGE
|
|
- COMMENT_RPC
|
|
- COMMENT_SERVICE
|
|
- PACKAGE_NO_IMPORT_CYCLE
|
|
- PAGINATION_REQUIRED
|
|
- UNARY_RPC
|
|
except:
|
|
- FIELD_NOT_REQUIRED
|
|
- RPC_REQUEST_RESPONSE_UNIQUE
|
|
- RPC_RESPONSE_STANDARD_NAME
|
|
ignore:
|
|
- api/proto/teleport/legacy/client/proto/authservice.proto
|
|
- api/proto/teleport/legacy/client/proto/certs.proto
|
|
- api/proto/teleport/legacy/client/proto/event.proto
|
|
- api/proto/teleport/legacy/client/proto/proxyservice.proto
|
|
- api/proto/teleport/legacy/types/events/athena.proto
|
|
- api/proto/teleport/legacy/types/events/events.proto
|
|
- api/proto/teleport/legacy/types/types.proto
|
|
- api/proto/teleport/legacy/types/metadata.proto
|
|
- api/proto/teleport/legacy/types/mfa_device.proto
|
|
- api/proto/teleport/legacy/types/wrappers/wrappers.proto
|
|
- proto/teleport/lib/multiplexer/test/ping.proto
|
|
- proto/teleport/lib/web/terminal/envelope.proto
|
|
ignore_only:
|
|
COMMENT_MESSAGE:
|
|
- proto/prehog
|
|
- proto/teleport/lib/teleterm/v1/access_request.proto
|
|
- proto/teleport/lib/teleterm/v1/app.proto
|
|
- proto/teleport/lib/teleterm/v1/auth_settings.proto
|
|
- proto/teleport/lib/teleterm/v1/cluster.proto
|
|
- proto/teleport/lib/teleterm/v1/database.proto
|
|
- proto/teleport/lib/teleterm/v1/gateway.proto
|
|
- proto/teleport/lib/teleterm/v1/kube.proto
|
|
- proto/teleport/lib/teleterm/v1/label.proto
|
|
- proto/teleport/lib/teleterm/v1/server.proto
|
|
- proto/teleport/lib/teleterm/v1/service.proto
|
|
- proto/teleport/lib/teleterm/v1/usage_events.proto
|
|
COMMENT_RPC:
|
|
- proto/prehog
|
|
COMMENT_SERVICE:
|
|
- proto/prehog
|
|
FIELD_LOWER_SNAKE_CASE:
|
|
- api/proto/teleport/legacy/client/proto/inventory.proto
|
|
- api/proto/teleport/legacy/types/device.proto
|
|
- api/proto/teleport/legacy/types/resources.proto
|
|
PACKAGE_DIRECTORY_MATCH:
|
|
- api/proto/teleport/legacy/client/proto/joinservice.proto
|
|
- api/proto/teleport/legacy/types/device.proto
|
|
- api/proto/teleport/legacy/types/trusted_device_requirement.proto
|
|
- api/proto/teleport/legacy/types/resources.proto
|
|
- api/proto/teleport/legacy/types/webauthn/webauthn.proto
|
|
PACKAGE_VERSION_SUFFIX:
|
|
- api/proto/teleport/legacy/client/proto/joinservice.proto
|
|
- api/proto/teleport/legacy/types/device.proto
|
|
- api/proto/teleport/legacy/types/trusted_device_requirement.proto
|
|
- api/proto/teleport/legacy/types/resources.proto
|
|
- api/proto/teleport/legacy/types/webauthn/webauthn.proto
|
|
RPC_REQUEST_STANDARD_NAME:
|
|
- proto/teleport/lib/teleterm/v1/service.proto
|
|
UNARY_RPC:
|
|
- api/proto/teleport/auditlog/v1/auditlog.proto
|
|
- api/proto/teleport/devicetrust/v1/devicetrust_service.proto
|
|
- api/proto/teleport/legacy/client/proto/joinservice.proto
|
|
- api/proto/teleport/transport/v1/transport_service.proto
|
|
- api/proto/teleport/access_graph/v1/secrets_service.proto
|
|
- api/proto/teleport/workloadidentity/v1/revocation_service.proto
|
|
- proto/accessgraph/v1alpha/access_graph_service.proto
|
|
- proto/teleport/lib/teleterm/v1/service.proto
|
|
- api/proto/teleport/recordingmetadata/v1/recordingmetadata_service.proto
|
|
- api/proto/teleport/join/v1/joinservice.proto
|
|
- api/proto/teleport/sessionsearch/v1/session_search.proto
|
|
- proto/teleport/web/teleterm/ptyhost/v1/pty_host_service.proto
|
|
- proto/accessgraph/v1/session_search.proto
|
|
|
|
breaking:
|
|
use:
|
|
- ENUM_VALUE_NO_DELETE
|
|
- WIRE_JSON
|
|
ignore:
|
|
# TODO(codingllama): Remove ignore once the PDP API is stable.
|
|
- api/proto/teleport/decision/v1alpha1
|
|
# TODO(eriktate): Remove ignore once the new scopes API is stable.
|
|
- api/proto/teleport/scopes
|
|
|
|
plugins:
|
|
- plugin:
|
|
- env
|
|
- GOWORK=off
|
|
- go
|
|
- -C
|
|
- ./build.assets/tooling
|
|
- run
|
|
- ./cmd/buf-plugin-linters
|