lookup

package
v1.24.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	LookupService_Health_FullMethodName              = "/gitlab.iam.lookup.v1.LookupService/Health"
	LookupService_ReadRelationships_FullMethodName   = "/gitlab.iam.lookup.v1.LookupService/ReadRelationships"
	LookupService_LookupResources_FullMethodName     = "/gitlab.iam.lookup.v1.LookupService/LookupResources"
	LookupService_LookupSubjects_FullMethodName      = "/gitlab.iam.lookup.v1.LookupService/LookupSubjects"
	LookupService_LookupRelationships_FullMethodName = "/gitlab.iam.lookup.v1.LookupService/LookupRelationships"
)

Variables

View Source
var File_proto_lookup_lookup_proto protoreflect.FileDescriptor
View Source
var LookupService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "gitlab.iam.lookup.v1.LookupService",
	HandlerType: (*LookupServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Health",
			Handler:    _LookupService_Health_Handler,
		},
		{
			MethodName: "ReadRelationships",
			Handler:    _LookupService_ReadRelationships_Handler,
		},
		{
			MethodName: "LookupResources",
			Handler:    _LookupService_LookupResources_Handler,
		},
		{
			MethodName: "LookupSubjects",
			Handler:    _LookupService_LookupSubjects_Handler,
		},
		{
			MethodName: "LookupRelationships",
			Handler:    _LookupService_LookupRelationships_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "proto/lookup/lookup.proto",
}

LookupService_ServiceDesc is the grpc.ServiceDesc for LookupService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterLookupServiceServer added in v1.10.0

func RegisterLookupServiceServer(s grpc.ServiceRegistrar, srv LookupServiceServer)

Types

type HealthRequest

type HealthRequest struct {
	// contains filtered or unexported fields
}

func (*HealthRequest) Descriptor deprecated

func (*HealthRequest) Descriptor() ([]byte, []int)

Deprecated: Use HealthRequest.ProtoReflect.Descriptor instead.

func (*HealthRequest) ProtoMessage

func (*HealthRequest) ProtoMessage()

func (*HealthRequest) ProtoReflect

func (x *HealthRequest) ProtoReflect() protoreflect.Message

func (*HealthRequest) Reset

func (x *HealthRequest) Reset()

func (*HealthRequest) String

func (x *HealthRequest) String() string

type HealthResponse

type HealthResponse struct {
	Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*HealthResponse) Descriptor deprecated

func (*HealthResponse) Descriptor() ([]byte, []int)

Deprecated: Use HealthResponse.ProtoReflect.Descriptor instead.

func (*HealthResponse) GetStatus

func (x *HealthResponse) GetStatus() string

func (*HealthResponse) ProtoMessage

func (*HealthResponse) ProtoMessage()

func (*HealthResponse) ProtoReflect

func (x *HealthResponse) ProtoReflect() protoreflect.Message

func (*HealthResponse) Reset

func (x *HealthResponse) Reset()

func (*HealthResponse) String

func (x *HealthResponse) String() string

type LookupFilter

type LookupFilter struct {
	Kinds []relationships.Kind  `protobuf:"varint,1,rep,packed,name=kinds,proto3,enum=gitlab.iam.relationships.v1.Kind" json:"kinds,omitempty"`
	Roles []*relationships.Role `protobuf:"bytes,2,rep,name=roles,proto3" json:"roles,omitempty"`
	// contains filtered or unexported fields
}

All fields optional; empty filter matches everything. Each entry in kinds must not be _UNSPECIFIED. Host-scope filtering is not yet supported.

func (*LookupFilter) Descriptor deprecated

func (*LookupFilter) Descriptor() ([]byte, []int)

Deprecated: Use LookupFilter.ProtoReflect.Descriptor instead.

func (*LookupFilter) GetKinds

func (x *LookupFilter) GetKinds() []relationships.Kind

func (*LookupFilter) GetRoles

func (x *LookupFilter) GetRoles() []*relationships.Role

func (*LookupFilter) ProtoMessage

func (*LookupFilter) ProtoMessage()

func (*LookupFilter) ProtoReflect

func (x *LookupFilter) ProtoReflect() protoreflect.Message

func (*LookupFilter) Reset

func (x *LookupFilter) Reset()

func (*LookupFilter) String

func (x *LookupFilter) String() string

type LookupRelationshipsRequest added in v1.24.0

type LookupRelationshipsRequest struct {

	// required; the organization to scan. Must be a canonical lowercase UUIDv7.
	OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	// optional; scopes the scan to these objects. Empty scans the whole org and
	// requires the org owner; non-empty requires a relationships-admin grant on
	// the ancestor or on each object.
	Objects []*relationships.Object `protobuf:"bytes,2,rep,name=objects,proto3" json:"objects,omitempty"`
	// optional; an ancestor object the caller administers. With objects set, a
	// relationships-admin grant on it authorizes the scan, mirroring
	// WriteRelationships. When set, must be a canonical lowercase UUIDv7.
	//
	// Security: this service stores no resource hierarchy, so it cannot confirm
	// the scanned objects are descendants of ancestor_id. A caller with a
	// relationships-admin grant on ancestor_id can therefore scan any objects,
	// regardless of whether they are actual descendants. Upstream callers must
	// guarantee that relationship; this is the same accepted trust model as
	// WriteRelationships.
	AncestorId string        `protobuf:"bytes,3,opt,name=ancestor_id,json=ancestorId,proto3" json:"ancestor_id,omitempty"`
	Filter     *LookupFilter `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`                        // optional
	PageSize   int32         `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`   // 0 = server default; clamped to server cap
	PageToken  string        `protobuf:"bytes,6,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // empty for first page; otherwise opaque server-issued
	// contains filtered or unexported fields
}

func (*LookupRelationshipsRequest) Descriptor deprecated added in v1.24.0

func (*LookupRelationshipsRequest) Descriptor() ([]byte, []int)

Deprecated: Use LookupRelationshipsRequest.ProtoReflect.Descriptor instead.

func (*LookupRelationshipsRequest) GetAncestorId added in v1.24.0

func (x *LookupRelationshipsRequest) GetAncestorId() string

func (*LookupRelationshipsRequest) GetFilter added in v1.24.0

func (x *LookupRelationshipsRequest) GetFilter() *LookupFilter

func (*LookupRelationshipsRequest) GetObjects added in v1.24.0

func (x *LookupRelationshipsRequest) GetObjects() []*relationships.Object

func (*LookupRelationshipsRequest) GetOrgId added in v1.24.0

func (x *LookupRelationshipsRequest) GetOrgId() string

func (*LookupRelationshipsRequest) GetPageSize added in v1.24.0

func (x *LookupRelationshipsRequest) GetPageSize() int32

func (*LookupRelationshipsRequest) GetPageToken added in v1.24.0

func (x *LookupRelationshipsRequest) GetPageToken() string

func (*LookupRelationshipsRequest) ProtoMessage added in v1.24.0

func (*LookupRelationshipsRequest) ProtoMessage()

func (*LookupRelationshipsRequest) ProtoReflect added in v1.24.0

func (*LookupRelationshipsRequest) Reset added in v1.24.0

func (x *LookupRelationshipsRequest) Reset()

func (*LookupRelationshipsRequest) String added in v1.24.0

func (x *LookupRelationshipsRequest) String() string

type LookupRelationshipsResponse added in v1.24.0

type LookupRelationshipsResponse struct {
	Relationships []*relationships.Relationship `protobuf:"bytes,1,rep,name=relationships,proto3" json:"relationships,omitempty"`
	NextPageToken string                        `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` // empty = no more pages
	// contains filtered or unexported fields
}

func (*LookupRelationshipsResponse) Descriptor deprecated added in v1.24.0

func (*LookupRelationshipsResponse) Descriptor() ([]byte, []int)

Deprecated: Use LookupRelationshipsResponse.ProtoReflect.Descriptor instead.

func (*LookupRelationshipsResponse) GetNextPageToken added in v1.24.0

func (x *LookupRelationshipsResponse) GetNextPageToken() string

func (*LookupRelationshipsResponse) GetRelationships added in v1.24.0

func (x *LookupRelationshipsResponse) GetRelationships() []*relationships.Relationship

func (*LookupRelationshipsResponse) ProtoMessage added in v1.24.0

func (*LookupRelationshipsResponse) ProtoMessage()

func (*LookupRelationshipsResponse) ProtoReflect added in v1.24.0

func (*LookupRelationshipsResponse) Reset added in v1.24.0

func (x *LookupRelationshipsResponse) Reset()

func (*LookupRelationshipsResponse) String added in v1.24.0

func (x *LookupRelationshipsResponse) String() string

type LookupResourcesRequest

type LookupResourcesRequest struct {
	Subject   *relationships.Subject `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"`                      // subject.identity must be set
	Filter    *LookupFilter          `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`                        // optional
	PageSize  int32                  `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`   // 0 = server default; clamped to server cap
	PageToken string                 `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // empty for first page; otherwise opaque server-issued
	// contains filtered or unexported fields
}

func (*LookupResourcesRequest) Descriptor deprecated

func (*LookupResourcesRequest) Descriptor() ([]byte, []int)

Deprecated: Use LookupResourcesRequest.ProtoReflect.Descriptor instead.

func (*LookupResourcesRequest) GetFilter

func (x *LookupResourcesRequest) GetFilter() *LookupFilter

func (*LookupResourcesRequest) GetPageSize

func (x *LookupResourcesRequest) GetPageSize() int32

func (*LookupResourcesRequest) GetPageToken

func (x *LookupResourcesRequest) GetPageToken() string

func (*LookupResourcesRequest) GetSubject

func (x *LookupResourcesRequest) GetSubject() *relationships.Subject

func (*LookupResourcesRequest) ProtoMessage

func (*LookupResourcesRequest) ProtoMessage()

func (*LookupResourcesRequest) ProtoReflect

func (x *LookupResourcesRequest) ProtoReflect() protoreflect.Message

func (*LookupResourcesRequest) Reset

func (x *LookupResourcesRequest) Reset()

func (*LookupResourcesRequest) String

func (x *LookupResourcesRequest) String() string

type LookupResourcesResponse

type LookupResourcesResponse struct {
	Relationships []*relationships.Relationship `protobuf:"bytes,1,rep,name=relationships,proto3" json:"relationships,omitempty"`
	NextPageToken string                        `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` // empty = no more pages
	// contains filtered or unexported fields
}

func (*LookupResourcesResponse) Descriptor deprecated

func (*LookupResourcesResponse) Descriptor() ([]byte, []int)

Deprecated: Use LookupResourcesResponse.ProtoReflect.Descriptor instead.

func (*LookupResourcesResponse) GetNextPageToken

func (x *LookupResourcesResponse) GetNextPageToken() string

func (*LookupResourcesResponse) GetRelationships

func (x *LookupResourcesResponse) GetRelationships() []*relationships.Relationship

func (*LookupResourcesResponse) ProtoMessage

func (*LookupResourcesResponse) ProtoMessage()

func (*LookupResourcesResponse) ProtoReflect

func (x *LookupResourcesResponse) ProtoReflect() protoreflect.Message

func (*LookupResourcesResponse) Reset

func (x *LookupResourcesResponse) Reset()

func (*LookupResourcesResponse) String

func (x *LookupResourcesResponse) String() string

type LookupServiceClient added in v1.10.0

type LookupServiceClient interface {
	Health(ctx context.Context, in *HealthRequest, opts ...grpc.CallOption) (*HealthResponse, error)
	// Bounded read for the auth path. objects required and non-empty.
	// Unresolvable subject → NOT_FOUND.
	ReadRelationships(ctx context.Context, in *ReadRelationshipsRequest, opts ...grpc.CallOption) (*ReadRelationshipsResponse, error)
	// Paginated subject-first scan for UI/admin. Not on the auth path.
	// Unresolvable subject → NOT_FOUND (distinct from empty page).
	LookupResources(ctx context.Context, in *LookupResourcesRequest, opts ...grpc.CallOption) (*LookupResourcesResponse, error)
	// Paginated object-first scan for UI/admin. Not on the auth path.
	LookupSubjects(ctx context.Context, in *LookupSubjectsRequest, opts ...grpc.CallOption) (*LookupSubjectsResponse, error)
	// Paginated org-scoped scan for UI/admin. With objects set, the scan is
	// scoped to them and the caller needs a relationships-admin grant on each;
	// without objects, the whole org is returned and the caller must be the org
	// owner. Not on the auth path. Requires an AR-scoped token from the Rails
	// token exchange; authorization is enforced in the handler.
	LookupRelationships(ctx context.Context, in *LookupRelationshipsRequest, opts ...grpc.CallOption) (*LookupRelationshipsResponse, error)
}

LookupServiceClient is the client API for LookupService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewLookupServiceClient added in v1.10.0

func NewLookupServiceClient(cc grpc.ClientConnInterface) LookupServiceClient

type LookupServiceServer added in v1.10.0

type LookupServiceServer interface {
	Health(context.Context, *HealthRequest) (*HealthResponse, error)
	// Bounded read for the auth path. objects required and non-empty.
	// Unresolvable subject → NOT_FOUND.
	ReadRelationships(context.Context, *ReadRelationshipsRequest) (*ReadRelationshipsResponse, error)
	// Paginated subject-first scan for UI/admin. Not on the auth path.
	// Unresolvable subject → NOT_FOUND (distinct from empty page).
	LookupResources(context.Context, *LookupResourcesRequest) (*LookupResourcesResponse, error)
	// Paginated object-first scan for UI/admin. Not on the auth path.
	LookupSubjects(context.Context, *LookupSubjectsRequest) (*LookupSubjectsResponse, error)
	// Paginated org-scoped scan for UI/admin. With objects set, the scan is
	// scoped to them and the caller needs a relationships-admin grant on each;
	// without objects, the whole org is returned and the caller must be the org
	// owner. Not on the auth path. Requires an AR-scoped token from the Rails
	// token exchange; authorization is enforced in the handler.
	LookupRelationships(context.Context, *LookupRelationshipsRequest) (*LookupRelationshipsResponse, error)
	// contains filtered or unexported methods
}

LookupServiceServer is the server API for LookupService service. All implementations must embed UnimplementedLookupServiceServer for forward compatibility.

type LookupSubjectsRequest

type LookupSubjectsRequest struct {
	Object    *relationships.Object `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"`
	Filter    *LookupFilter         `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`                        // optional
	PageSize  int32                 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`   // 0 = server default; clamped to server cap
	PageToken string                `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // empty for first page; otherwise opaque server-issued
	// contains filtered or unexported fields
}

func (*LookupSubjectsRequest) Descriptor deprecated

func (*LookupSubjectsRequest) Descriptor() ([]byte, []int)

Deprecated: Use LookupSubjectsRequest.ProtoReflect.Descriptor instead.

func (*LookupSubjectsRequest) GetFilter

func (x *LookupSubjectsRequest) GetFilter() *LookupFilter

func (*LookupSubjectsRequest) GetObject

func (x *LookupSubjectsRequest) GetObject() *relationships.Object

func (*LookupSubjectsRequest) GetPageSize

func (x *LookupSubjectsRequest) GetPageSize() int32

func (*LookupSubjectsRequest) GetPageToken

func (x *LookupSubjectsRequest) GetPageToken() string

func (*LookupSubjectsRequest) ProtoMessage

func (*LookupSubjectsRequest) ProtoMessage()

func (*LookupSubjectsRequest) ProtoReflect

func (x *LookupSubjectsRequest) ProtoReflect() protoreflect.Message

func (*LookupSubjectsRequest) Reset

func (x *LookupSubjectsRequest) Reset()

func (*LookupSubjectsRequest) String

func (x *LookupSubjectsRequest) String() string

type LookupSubjectsResponse

type LookupSubjectsResponse struct {
	Relationships []*relationships.Relationship `protobuf:"bytes,1,rep,name=relationships,proto3" json:"relationships,omitempty"`
	NextPageToken string                        `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` // empty = no more pages
	// contains filtered or unexported fields
}

func (*LookupSubjectsResponse) Descriptor deprecated

func (*LookupSubjectsResponse) Descriptor() ([]byte, []int)

Deprecated: Use LookupSubjectsResponse.ProtoReflect.Descriptor instead.

func (*LookupSubjectsResponse) GetNextPageToken

func (x *LookupSubjectsResponse) GetNextPageToken() string

func (*LookupSubjectsResponse) GetRelationships

func (x *LookupSubjectsResponse) GetRelationships() []*relationships.Relationship

func (*LookupSubjectsResponse) ProtoMessage

func (*LookupSubjectsResponse) ProtoMessage()

func (*LookupSubjectsResponse) ProtoReflect

func (x *LookupSubjectsResponse) ProtoReflect() protoreflect.Message

func (*LookupSubjectsResponse) Reset

func (x *LookupSubjectsResponse) Reset()

func (*LookupSubjectsResponse) String

func (x *LookupSubjectsResponse) String() string

type ReadRelationshipsRequest

type ReadRelationshipsRequest struct {
	Subject *relationships.Subject  `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"`                                           // subject.identity must be set
	Objects []*relationships.Object `protobuf:"bytes,2,rep,name=objects,proto3" json:"objects,omitempty"`                                           // required, non-empty
	Kinds   []relationships.Kind    `protobuf:"varint,3,rep,packed,name=kinds,proto3,enum=gitlab.iam.relationships.v1.Kind" json:"kinds,omitempty"` // empty = all
	// contains filtered or unexported fields
}

func (*ReadRelationshipsRequest) Descriptor deprecated

func (*ReadRelationshipsRequest) Descriptor() ([]byte, []int)

Deprecated: Use ReadRelationshipsRequest.ProtoReflect.Descriptor instead.

func (*ReadRelationshipsRequest) GetKinds

func (*ReadRelationshipsRequest) GetObjects

func (x *ReadRelationshipsRequest) GetObjects() []*relationships.Object

func (*ReadRelationshipsRequest) GetSubject

func (*ReadRelationshipsRequest) ProtoMessage

func (*ReadRelationshipsRequest) ProtoMessage()

func (*ReadRelationshipsRequest) ProtoReflect

func (x *ReadRelationshipsRequest) ProtoReflect() protoreflect.Message

func (*ReadRelationshipsRequest) Reset

func (x *ReadRelationshipsRequest) Reset()

func (*ReadRelationshipsRequest) String

func (x *ReadRelationshipsRequest) String() string

type ReadRelationshipsResponse

type ReadRelationshipsResponse struct {

	// Flat list of matched tuples. subject.principal is set on each record.
	Relationships []*relationships.Relationship `protobuf:"bytes,1,rep,name=relationships,proto3" json:"relationships,omitempty"`
	// contains filtered or unexported fields
}

func (*ReadRelationshipsResponse) Descriptor deprecated

func (*ReadRelationshipsResponse) Descriptor() ([]byte, []int)

Deprecated: Use ReadRelationshipsResponse.ProtoReflect.Descriptor instead.

func (*ReadRelationshipsResponse) GetRelationships

func (x *ReadRelationshipsResponse) GetRelationships() []*relationships.Relationship

func (*ReadRelationshipsResponse) ProtoMessage

func (*ReadRelationshipsResponse) ProtoMessage()

func (*ReadRelationshipsResponse) ProtoReflect

func (*ReadRelationshipsResponse) Reset

func (x *ReadRelationshipsResponse) Reset()

func (*ReadRelationshipsResponse) String

func (x *ReadRelationshipsResponse) String() string

type UnimplementedLookupServiceServer added in v1.10.0

type UnimplementedLookupServiceServer struct{}

UnimplementedLookupServiceServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedLookupServiceServer) Health added in v1.10.0

func (UnimplementedLookupServiceServer) LookupRelationships added in v1.24.0

func (UnimplementedLookupServiceServer) LookupResources added in v1.10.0

func (UnimplementedLookupServiceServer) LookupSubjects added in v1.10.0

func (UnimplementedLookupServiceServer) ReadRelationships added in v1.10.0

type UnsafeLookupServiceServer added in v1.10.0

type UnsafeLookupServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeLookupServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to LookupServiceServer will result in compilation errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL