hallmarkv1

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 30, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HallmarkService_Append_FullMethodName       = "/hallmark.v1.HallmarkService/Append"
	HallmarkService_AppendStream_FullMethodName = "/hallmark.v1.HallmarkService/AppendStream"
	HallmarkService_Query_FullMethodName        = "/hallmark.v1.HallmarkService/Query"
	HallmarkService_Subscribe_FullMethodName    = "/hallmark.v1.HallmarkService/Subscribe"
)

Variables

View Source
var File_hallmark_v1_hallmark_proto protoreflect.FileDescriptor
View Source
var HallmarkService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "hallmark.v1.HallmarkService",
	HandlerType: (*HallmarkServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Append",
			Handler:    _HallmarkService_Append_Handler,
		},
		{
			MethodName: "Query",
			Handler:    _HallmarkService_Query_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "AppendStream",
			Handler:       _HallmarkService_AppendStream_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "Subscribe",
			Handler:       _HallmarkService_Subscribe_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "hallmark/v1/hallmark.proto",
}

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

Functions

func RegisterHallmarkServiceServer

func RegisterHallmarkServiceServer(s grpc.ServiceRegistrar, srv HallmarkServiceServer)

Types

type AppendRequest

type AppendRequest struct {

	// event is the audit event to record.
	Event *AuditEvent `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"`
	// contains filtered or unexported fields
}

AppendRequest carries one event to record. id and timestamp are server-assigned when omitted.

func (*AppendRequest) Descriptor deprecated

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

Deprecated: Use AppendRequest.ProtoReflect.Descriptor instead.

func (*AppendRequest) GetEvent

func (x *AppendRequest) GetEvent() *AuditEvent

func (*AppendRequest) ProtoMessage

func (*AppendRequest) ProtoMessage()

func (*AppendRequest) ProtoReflect

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

func (*AppendRequest) Reset

func (x *AppendRequest) Reset()

func (*AppendRequest) String

func (x *AppendRequest) String() string

type AppendResponse

type AppendResponse struct {

	// id is the server-assigned UUID of the recorded event.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// contains filtered or unexported fields
}

AppendResponse returns the id assigned to the recorded event.

func (*AppendResponse) Descriptor deprecated

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

Deprecated: Use AppendResponse.ProtoReflect.Descriptor instead.

func (*AppendResponse) GetId

func (x *AppendResponse) GetId() string

func (*AppendResponse) ProtoMessage

func (*AppendResponse) ProtoMessage()

func (*AppendResponse) ProtoReflect

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

func (*AppendResponse) Reset

func (x *AppendResponse) Reset()

func (*AppendResponse) String

func (x *AppendResponse) String() string

type AppendStreamRequest

type AppendStreamRequest struct {

	// event is the audit event to record.
	Event *AuditEvent `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"`
	// contains filtered or unexported fields
}

AppendStreamRequest carries one event in an append stream. id and timestamp are server-assigned when omitted.

func (*AppendStreamRequest) Descriptor deprecated

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

Deprecated: Use AppendStreamRequest.ProtoReflect.Descriptor instead.

func (*AppendStreamRequest) GetEvent

func (x *AppendStreamRequest) GetEvent() *AuditEvent

func (*AppendStreamRequest) ProtoMessage

func (*AppendStreamRequest) ProtoMessage()

func (*AppendStreamRequest) ProtoReflect

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

func (*AppendStreamRequest) Reset

func (x *AppendStreamRequest) Reset()

func (*AppendStreamRequest) String

func (x *AppendStreamRequest) String() string

type AppendStreamResponse

type AppendStreamResponse struct {

	// count is the number of events persisted by the stream.
	Count uint32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
	// contains filtered or unexported fields
}

AppendStreamResponse summarises a completed append stream.

func (*AppendStreamResponse) Descriptor deprecated

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

Deprecated: Use AppendStreamResponse.ProtoReflect.Descriptor instead.

func (*AppendStreamResponse) GetCount

func (x *AppendStreamResponse) GetCount() uint32

func (*AppendStreamResponse) ProtoMessage

func (*AppendStreamResponse) ProtoMessage()

func (*AppendStreamResponse) ProtoReflect

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

func (*AppendStreamResponse) Reset

func (x *AppendStreamResponse) Reset()

func (*AppendStreamResponse) String

func (x *AppendStreamResponse) String() string

type AuditEvent

type AuditEvent struct {

	// id is the server-assigned UUID of the event.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// timestamp is when the event occurred (server-defaulted when unset).
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// realm_id is the optional tenant the event belongs to.
	RealmId string `protobuf:"bytes,3,opt,name=realm_id,json=realmId,proto3" json:"realm_id,omitempty"`
	// actor_id identifies who performed the action.
	ActorId string `protobuf:"bytes,4,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	// actor_type classifies the actor (e.g. user, service, system).
	ActorType string `protobuf:"bytes,5,opt,name=actor_type,json=actorType,proto3" json:"actor_type,omitempty"`
	// resource_type is the kind of resource the action targeted.
	ResourceType string `protobuf:"bytes,6,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
	// resource_id is the id of the resource the action targeted.
	ResourceId string `protobuf:"bytes,7,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
	// action is the verb describing what happened (required).
	Action string `protobuf:"bytes,8,opt,name=action,proto3" json:"action,omitempty"`
	// summary is a short human-readable description of the event.
	Summary string `protobuf:"bytes,9,opt,name=summary,proto3" json:"summary,omitempty"`
	// changes is a structured before/after diff of the resource.
	Changes *structpb.Struct `protobuf:"bytes,10,opt,name=changes,proto3" json:"changes,omitempty"`
	// metadata is free-form structured context attached by the emitter.
	Metadata *structpb.Struct `protobuf:"bytes,11,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// ip is the source IP address associated with the action.
	Ip string `protobuf:"bytes,12,opt,name=ip,proto3" json:"ip,omitempty"`
	// request_id correlates the event with an upstream request.
	RequestId string `protobuf:"bytes,13,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// contains filtered or unexported fields
}

AuditEvent is one immutable record in the stream.

func (*AuditEvent) Descriptor deprecated

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

Deprecated: Use AuditEvent.ProtoReflect.Descriptor instead.

func (*AuditEvent) GetAction

func (x *AuditEvent) GetAction() string

func (*AuditEvent) GetActorId

func (x *AuditEvent) GetActorId() string

func (*AuditEvent) GetActorType

func (x *AuditEvent) GetActorType() string

func (*AuditEvent) GetChanges

func (x *AuditEvent) GetChanges() *structpb.Struct

func (*AuditEvent) GetId

func (x *AuditEvent) GetId() string

func (*AuditEvent) GetIp

func (x *AuditEvent) GetIp() string

func (*AuditEvent) GetMetadata

func (x *AuditEvent) GetMetadata() *structpb.Struct

func (*AuditEvent) GetRealmId

func (x *AuditEvent) GetRealmId() string

func (*AuditEvent) GetRequestId

func (x *AuditEvent) GetRequestId() string

func (*AuditEvent) GetResourceId

func (x *AuditEvent) GetResourceId() string

func (*AuditEvent) GetResourceType

func (x *AuditEvent) GetResourceType() string

func (*AuditEvent) GetSummary

func (x *AuditEvent) GetSummary() string

func (*AuditEvent) GetTimestamp

func (x *AuditEvent) GetTimestamp() *timestamppb.Timestamp

func (*AuditEvent) ProtoMessage

func (*AuditEvent) ProtoMessage()

func (*AuditEvent) ProtoReflect

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

func (*AuditEvent) Reset

func (x *AuditEvent) Reset()

func (*AuditEvent) String

func (x *AuditEvent) String() string

type HallmarkServiceClient

type HallmarkServiceClient interface {
	// Append records a single audit event and returns its server-assigned id.
	Append(ctx context.Context, in *AppendRequest, opts ...grpc.CallOption) (*AppendResponse, error)
	// AppendStream records a batch of audit events from a client stream and
	// returns how many were persisted.
	AppendStream(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[AppendStreamRequest, AppendStreamResponse], error)
	// Query returns audit events matching the given filter, newest first.
	Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error)
	// Subscribe streams matching audit events. When replay_from is set the
	// server first replays matching history (oldest first) and then continues
	// with live events as they are appended, until the client disconnects.
	Subscribe(ctx context.Context, in *SubscribeRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[SubscribeResponse], error)
}

HallmarkServiceClient is the client API for HallmarkService 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.

HallmarkService is the ingest + query surface of the audit/event-stream service. Writes are append-only; there is no update or delete RPC.

type HallmarkServiceServer

type HallmarkServiceServer interface {
	// Append records a single audit event and returns its server-assigned id.
	Append(context.Context, *AppendRequest) (*AppendResponse, error)
	// AppendStream records a batch of audit events from a client stream and
	// returns how many were persisted.
	AppendStream(grpc.ClientStreamingServer[AppendStreamRequest, AppendStreamResponse]) error
	// Query returns audit events matching the given filter, newest first.
	Query(context.Context, *QueryRequest) (*QueryResponse, error)
	// Subscribe streams matching audit events. When replay_from is set the
	// server first replays matching history (oldest first) and then continues
	// with live events as they are appended, until the client disconnects.
	Subscribe(*SubscribeRequest, grpc.ServerStreamingServer[SubscribeResponse]) error
}

HallmarkServiceServer is the server API for HallmarkService service. All implementations should embed UnimplementedHallmarkServiceServer for forward compatibility.

HallmarkService is the ingest + query surface of the audit/event-stream service. Writes are append-only; there is no update or delete RPC.

type HallmarkService_AppendStreamClient

type HallmarkService_AppendStreamClient = grpc.ClientStreamingClient[AppendStreamRequest, AppendStreamResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type HallmarkService_AppendStreamServer

type HallmarkService_AppendStreamServer = grpc.ClientStreamingServer[AppendStreamRequest, AppendStreamResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type HallmarkService_SubscribeClient

type HallmarkService_SubscribeClient = grpc.ServerStreamingClient[SubscribeResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type HallmarkService_SubscribeServer

type HallmarkService_SubscribeServer = grpc.ServerStreamingServer[SubscribeResponse]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type QueryRequest

type QueryRequest struct {

	// actor_id filters to events performed by this actor.
	ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	// resource_type filters to events targeting this resource kind.
	ResourceType string `protobuf:"bytes,2,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
	// resource_id filters to events targeting this resource id.
	ResourceId string `protobuf:"bytes,3,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
	// action filters to events with this action verb.
	Action string `protobuf:"bytes,4,opt,name=action,proto3" json:"action,omitempty"`
	// from bounds the result set to events at or after this time.
	From *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=from,proto3" json:"from,omitempty"`
	// to bounds the result set to events at or before this time.
	To *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=to,proto3" json:"to,omitempty"`
	// limit caps the number of returned events.
	Limit uint32 `protobuf:"varint,7,opt,name=limit,proto3" json:"limit,omitempty"`
	// contains filtered or unexported fields
}

QueryRequest filters the event stream. All fields are optional; empty fields are not constrained.

func (*QueryRequest) Descriptor deprecated

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

Deprecated: Use QueryRequest.ProtoReflect.Descriptor instead.

func (*QueryRequest) GetAction

func (x *QueryRequest) GetAction() string

func (*QueryRequest) GetActorId

func (x *QueryRequest) GetActorId() string

func (*QueryRequest) GetFrom

func (x *QueryRequest) GetFrom() *timestamppb.Timestamp

func (*QueryRequest) GetLimit

func (x *QueryRequest) GetLimit() uint32

func (*QueryRequest) GetResourceId

func (x *QueryRequest) GetResourceId() string

func (*QueryRequest) GetResourceType

func (x *QueryRequest) GetResourceType() string

func (*QueryRequest) GetTo

func (x *QueryRequest) GetTo() *timestamppb.Timestamp

func (*QueryRequest) ProtoMessage

func (*QueryRequest) ProtoMessage()

func (*QueryRequest) ProtoReflect

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

func (*QueryRequest) Reset

func (x *QueryRequest) Reset()

func (*QueryRequest) String

func (x *QueryRequest) String() string

type QueryResponse

type QueryResponse struct {

	// events are the matched audit events, newest first.
	Events []*AuditEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
	// total_count is the number of events matching the filter.
	TotalCount uint32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	// contains filtered or unexported fields
}

QueryResponse carries the matched events.

func (*QueryResponse) Descriptor deprecated

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

Deprecated: Use QueryResponse.ProtoReflect.Descriptor instead.

func (*QueryResponse) GetEvents

func (x *QueryResponse) GetEvents() []*AuditEvent

func (*QueryResponse) GetTotalCount

func (x *QueryResponse) GetTotalCount() uint32

func (*QueryResponse) ProtoMessage

func (*QueryResponse) ProtoMessage()

func (*QueryResponse) ProtoReflect

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

func (*QueryResponse) Reset

func (x *QueryResponse) Reset()

func (*QueryResponse) String

func (x *QueryResponse) String() string

type SubscribeRequest

type SubscribeRequest struct {

	// actor_id filters to events performed by this actor.
	ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"`
	// resource_type filters to events targeting this resource kind.
	ResourceType string `protobuf:"bytes,2,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
	// resource_id filters to events targeting this resource id.
	ResourceId string `protobuf:"bytes,3,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
	// action filters to events with this action verb.
	Action string `protobuf:"bytes,4,opt,name=action,proto3" json:"action,omitempty"`
	// replay_from, when set, replays matching history at or after this time
	// before switching to the live tail.
	ReplayFrom *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=replay_from,json=replayFrom,proto3" json:"replay_from,omitempty"`
	// replay_limit caps the number of replayed history events.
	ReplayLimit uint32 `protobuf:"varint,6,opt,name=replay_limit,json=replayLimit,proto3" json:"replay_limit,omitempty"`
	// contains filtered or unexported fields
}

SubscribeRequest filters the live stream. All filter fields are optional; empty fields are not constrained. When replay_from is set, matching history from that time is replayed (oldest first) before the live tail begins.

func (*SubscribeRequest) Descriptor deprecated

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

Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead.

func (*SubscribeRequest) GetAction

func (x *SubscribeRequest) GetAction() string

func (*SubscribeRequest) GetActorId

func (x *SubscribeRequest) GetActorId() string

func (*SubscribeRequest) GetReplayFrom

func (x *SubscribeRequest) GetReplayFrom() *timestamppb.Timestamp

func (*SubscribeRequest) GetReplayLimit

func (x *SubscribeRequest) GetReplayLimit() uint32

func (*SubscribeRequest) GetResourceId

func (x *SubscribeRequest) GetResourceId() string

func (*SubscribeRequest) GetResourceType

func (x *SubscribeRequest) GetResourceType() string

func (*SubscribeRequest) ProtoMessage

func (*SubscribeRequest) ProtoMessage()

func (*SubscribeRequest) ProtoReflect

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

func (*SubscribeRequest) Reset

func (x *SubscribeRequest) Reset()

func (*SubscribeRequest) String

func (x *SubscribeRequest) String() string

type SubscribeResponse

type SubscribeResponse struct {

	// event is the streamed audit event (replayed or live).
	Event *AuditEvent `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"`
	// contains filtered or unexported fields
}

SubscribeResponse carries one streamed audit event.

func (*SubscribeResponse) Descriptor deprecated

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

Deprecated: Use SubscribeResponse.ProtoReflect.Descriptor instead.

func (*SubscribeResponse) GetEvent

func (x *SubscribeResponse) GetEvent() *AuditEvent

func (*SubscribeResponse) ProtoMessage

func (*SubscribeResponse) ProtoMessage()

func (*SubscribeResponse) ProtoReflect

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

func (*SubscribeResponse) Reset

func (x *SubscribeResponse) Reset()

func (*SubscribeResponse) String

func (x *SubscribeResponse) String() string

type UnimplementedHallmarkServiceServer

type UnimplementedHallmarkServiceServer struct{}

UnimplementedHallmarkServiceServer should 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 (UnimplementedHallmarkServiceServer) Append

func (UnimplementedHallmarkServiceServer) Query

func (UnimplementedHallmarkServiceServer) Subscribe

type UnsafeHallmarkServiceServer

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

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

Jump to

Keyboard shortcuts

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