Documentation ¶
Overview ¶
Copyright (c) Ultraviolet SPDX-License-Identifier: Apache-2.0
Copyright (c) Ultraviolet SPDX-License-Identifier: Apache-2.0
Index ¶
- Constants
- Variables
- func RegisterAgentServiceServer(s grpc.ServiceRegistrar, srv AgentServiceServer)
- type AgentConfig
- type AgentServiceClient
- type AgentServiceServer
- type AlgoRequest
- func (*AlgoRequest) Descriptor() ([]byte, []int)deprecated
- func (x *AlgoRequest) GetAlgorithm() []byte
- func (x *AlgoRequest) GetId() string
- func (x *AlgoRequest) GetProvider() string
- func (*AlgoRequest) ProtoMessage()
- func (x *AlgoRequest) ProtoReflect() protoreflect.Message
- func (x *AlgoRequest) Reset()
- func (x *AlgoRequest) String() string
- type AlgoResponse
- type Algorithm
- type AttestationRequest
- func (*AttestationRequest) Descriptor() ([]byte, []int)deprecated
- func (x *AttestationRequest) GetReportData() []byte
- func (*AttestationRequest) ProtoMessage()
- func (x *AttestationRequest) ProtoReflect() protoreflect.Message
- func (x *AttestationRequest) Reset()
- func (x *AttestationRequest) String() string
- type AttestationResponse
- func (*AttestationResponse) Descriptor() ([]byte, []int)deprecated
- func (x *AttestationResponse) GetFile() []byte
- func (*AttestationResponse) ProtoMessage()
- func (x *AttestationResponse) ProtoReflect() protoreflect.Message
- func (x *AttestationResponse) Reset()
- func (x *AttestationResponse) String() string
- type Computation
- type DataRequest
- func (*DataRequest) Descriptor() ([]byte, []int)deprecated
- func (x *DataRequest) GetDataset() []byte
- func (x *DataRequest) GetId() string
- func (x *DataRequest) GetProvider() string
- func (*DataRequest) ProtoMessage()
- func (x *DataRequest) ProtoReflect() protoreflect.Message
- func (x *DataRequest) Reset()
- func (x *DataRequest) String() string
- type DataResponse
- type Dataset
- type Datasets
- type ResultRequest
- type ResultResponse
- type Service
- type StateMachine
- type UnimplementedAgentServiceServer
- func (UnimplementedAgentServiceServer) Algo(context.Context, *AlgoRequest) (*AlgoResponse, error)
- func (UnimplementedAgentServiceServer) Attestation(context.Context, *AttestationRequest) (*AttestationResponse, error)
- func (UnimplementedAgentServiceServer) Data(context.Context, *DataRequest) (*DataResponse, error)
- func (UnimplementedAgentServiceServer) Result(context.Context, *ResultRequest) (*ResultResponse, error)
- type UnsafeAgentServiceServer
Constants ¶
const ( AgentService_Algo_FullMethodName = "/agent.AgentService/Algo" AgentService_Data_FullMethodName = "/agent.AgentService/Data" AgentService_Result_FullMethodName = "/agent.AgentService/Result" AgentService_Attestation_FullMethodName = "/agent.AgentService/Attestation" )
const ReportDataSize = 64
ReportDataSize is the size of the report data expected by the attestation service.
Variables ¶
var ( // ErrMalformedEntity indicates malformed entity specification (e.g. // invalid username or password). ErrMalformedEntity = errors.New("malformed entity specification") // when accessing a protected resource. ErrUnauthorizedAccess = errors.New("missing or invalid credentials provided") )
var AgentService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "agent.AgentService", HandlerType: (*AgentServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Algo", Handler: _AgentService_Algo_Handler, }, { MethodName: "Data", Handler: _AgentService_Data_Handler, }, { MethodName: "Result", Handler: _AgentService_Result_Handler, }, { MethodName: "Attestation", Handler: _AgentService_Attestation_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "agent/agent.proto", }
AgentService_ServiceDesc is the grpc.ServiceDesc for AgentService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_agent_agent_proto protoreflect.FileDescriptor
Functions ¶
func RegisterAgentServiceServer ¶
func RegisterAgentServiceServer(s grpc.ServiceRegistrar, srv AgentServiceServer)
Types ¶
type AgentConfig ¶ added in v0.0.2
type AgentConfig struct { LogLevel string `json:"log_level"` Host string `json:"host"` Port string `json:"port"` CertFile string `json:"cert_file"` KeyFile string `json:"server_key"` ServerCAFile string `json:"server_ca_file"` ClientCAFile string `json:"client_ca_file"` AttestedTls bool `json:"attested_tls"` }
type AgentServiceClient ¶
type AgentServiceClient interface { Algo(ctx context.Context, in *AlgoRequest, opts ...grpc.CallOption) (*AlgoResponse, error) Data(ctx context.Context, in *DataRequest, opts ...grpc.CallOption) (*DataResponse, error) Result(ctx context.Context, in *ResultRequest, opts ...grpc.CallOption) (*ResultResponse, error) Attestation(ctx context.Context, in *AttestationRequest, opts ...grpc.CallOption) (*AttestationResponse, error) }
AgentServiceClient is the client API for AgentService 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 NewAgentServiceClient ¶
func NewAgentServiceClient(cc grpc.ClientConnInterface) AgentServiceClient
type AgentServiceServer ¶
type AgentServiceServer interface { Algo(context.Context, *AlgoRequest) (*AlgoResponse, error) Data(context.Context, *DataRequest) (*DataResponse, error) Result(context.Context, *ResultRequest) (*ResultResponse, error) Attestation(context.Context, *AttestationRequest) (*AttestationResponse, error) // contains filtered or unexported methods }
AgentServiceServer is the server API for AgentService service. All implementations must embed UnimplementedAgentServiceServer for forward compatibility
type AlgoRequest ¶
type AlgoRequest struct { Algorithm []byte `protobuf:"bytes,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"` Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` // contains filtered or unexported fields }
func (*AlgoRequest) Descriptor
deprecated
func (*AlgoRequest) Descriptor() ([]byte, []int)
Deprecated: Use AlgoRequest.ProtoReflect.Descriptor instead.
func (*AlgoRequest) GetAlgorithm ¶
func (x *AlgoRequest) GetAlgorithm() []byte
func (*AlgoRequest) GetId ¶
func (x *AlgoRequest) GetId() string
func (*AlgoRequest) GetProvider ¶
func (x *AlgoRequest) GetProvider() string
func (*AlgoRequest) ProtoMessage ¶
func (*AlgoRequest) ProtoMessage()
func (*AlgoRequest) ProtoReflect ¶
func (x *AlgoRequest) ProtoReflect() protoreflect.Message
func (*AlgoRequest) Reset ¶
func (x *AlgoRequest) Reset()
func (*AlgoRequest) String ¶
func (x *AlgoRequest) String() string
type AlgoResponse ¶
type AlgoResponse struct {
// contains filtered or unexported fields
}
func (*AlgoResponse) Descriptor
deprecated
func (*AlgoResponse) Descriptor() ([]byte, []int)
Deprecated: Use AlgoResponse.ProtoReflect.Descriptor instead.
func (*AlgoResponse) ProtoMessage ¶
func (*AlgoResponse) ProtoMessage()
func (*AlgoResponse) ProtoReflect ¶
func (x *AlgoResponse) ProtoReflect() protoreflect.Message
func (*AlgoResponse) Reset ¶
func (x *AlgoResponse) Reset()
func (*AlgoResponse) String ¶
func (x *AlgoResponse) String() string
type AttestationRequest ¶
type AttestationRequest struct { ReportData []byte `protobuf:"bytes,1,opt,name=report_data,json=reportData,proto3" json:"report_data,omitempty"` // Should be of length 64. // contains filtered or unexported fields }
func (*AttestationRequest) Descriptor
deprecated
func (*AttestationRequest) Descriptor() ([]byte, []int)
Deprecated: Use AttestationRequest.ProtoReflect.Descriptor instead.
func (*AttestationRequest) GetReportData ¶ added in v0.0.2
func (x *AttestationRequest) GetReportData() []byte
func (*AttestationRequest) ProtoMessage ¶
func (*AttestationRequest) ProtoMessage()
func (*AttestationRequest) ProtoReflect ¶
func (x *AttestationRequest) ProtoReflect() protoreflect.Message
func (*AttestationRequest) Reset ¶
func (x *AttestationRequest) Reset()
func (*AttestationRequest) String ¶
func (x *AttestationRequest) String() string
type AttestationResponse ¶
type AttestationResponse struct { File []byte `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"` // contains filtered or unexported fields }
func (*AttestationResponse) Descriptor
deprecated
func (*AttestationResponse) Descriptor() ([]byte, []int)
Deprecated: Use AttestationResponse.ProtoReflect.Descriptor instead.
func (*AttestationResponse) GetFile ¶
func (x *AttestationResponse) GetFile() []byte
func (*AttestationResponse) ProtoMessage ¶
func (*AttestationResponse) ProtoMessage()
func (*AttestationResponse) ProtoReflect ¶
func (x *AttestationResponse) ProtoReflect() protoreflect.Message
func (*AttestationResponse) Reset ¶
func (x *AttestationResponse) Reset()
func (*AttestationResponse) String ¶
func (x *AttestationResponse) String() string
type Computation ¶
type Computation struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` Datasets Datasets `json:"datasets,omitempty"` Algorithm Algorithm `json:"algorithms,omitempty"` ResultConsumers []string `json:"result_consumers,omitempty"` AgentConfig AgentConfig `json:"agent_config,omitempty"` }
type DataRequest ¶
type DataRequest struct { Dataset []byte `protobuf:"bytes,1,opt,name=dataset,proto3" json:"dataset,omitempty"` Provider string `protobuf:"bytes,2,opt,name=provider,proto3" json:"provider,omitempty"` Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` // contains filtered or unexported fields }
func (*DataRequest) Descriptor
deprecated
func (*DataRequest) Descriptor() ([]byte, []int)
Deprecated: Use DataRequest.ProtoReflect.Descriptor instead.
func (*DataRequest) GetDataset ¶
func (x *DataRequest) GetDataset() []byte
func (*DataRequest) GetId ¶
func (x *DataRequest) GetId() string
func (*DataRequest) GetProvider ¶
func (x *DataRequest) GetProvider() string
func (*DataRequest) ProtoMessage ¶
func (*DataRequest) ProtoMessage()
func (*DataRequest) ProtoReflect ¶
func (x *DataRequest) ProtoReflect() protoreflect.Message
func (*DataRequest) Reset ¶
func (x *DataRequest) Reset()
func (*DataRequest) String ¶
func (x *DataRequest) String() string
type DataResponse ¶
type DataResponse struct {
// contains filtered or unexported fields
}
func (*DataResponse) Descriptor
deprecated
func (*DataResponse) Descriptor() ([]byte, []int)
Deprecated: Use DataResponse.ProtoReflect.Descriptor instead.
func (*DataResponse) ProtoMessage ¶
func (*DataResponse) ProtoMessage()
func (*DataResponse) ProtoReflect ¶
func (x *DataResponse) ProtoReflect() protoreflect.Message
func (*DataResponse) Reset ¶
func (x *DataResponse) Reset()
func (*DataResponse) String ¶
func (x *DataResponse) String() string
type ResultRequest ¶
type ResultRequest struct { Consumer string `protobuf:"bytes,1,opt,name=consumer,proto3" json:"consumer,omitempty"` // contains filtered or unexported fields }
func (*ResultRequest) Descriptor
deprecated
func (*ResultRequest) Descriptor() ([]byte, []int)
Deprecated: Use ResultRequest.ProtoReflect.Descriptor instead.
func (*ResultRequest) GetConsumer ¶
func (x *ResultRequest) GetConsumer() string
func (*ResultRequest) ProtoMessage ¶
func (*ResultRequest) ProtoMessage()
func (*ResultRequest) ProtoReflect ¶
func (x *ResultRequest) ProtoReflect() protoreflect.Message
func (*ResultRequest) Reset ¶
func (x *ResultRequest) Reset()
func (*ResultRequest) String ¶
func (x *ResultRequest) String() string
type ResultResponse ¶
type ResultResponse struct { File []byte `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"` // contains filtered or unexported fields }
func (*ResultResponse) Descriptor
deprecated
func (*ResultResponse) Descriptor() ([]byte, []int)
Deprecated: Use ResultResponse.ProtoReflect.Descriptor instead.
func (*ResultResponse) GetFile ¶
func (x *ResultResponse) GetFile() []byte
func (*ResultResponse) ProtoMessage ¶
func (*ResultResponse) ProtoMessage()
func (*ResultResponse) ProtoReflect ¶
func (x *ResultResponse) ProtoReflect() protoreflect.Message
func (*ResultResponse) Reset ¶
func (x *ResultResponse) Reset()
func (*ResultResponse) String ¶
func (x *ResultResponse) String() string
type Service ¶
type Service interface { Algo(ctx context.Context, algorithm Algorithm) error Data(ctx context.Context, dataset Dataset) error Result(ctx context.Context, consumer string) ([]byte, error) Attestation(ctx context.Context, reportData [ReportDataSize]byte) ([]byte, error) }
Service specifies an API that must be fullfiled by the domain service implementation, and all of its decorators (e.g. logging & metrics).
type StateMachine ¶
type StateMachine struct { State state EventChan chan event Transitions map[state]map[event]state StateFunctions map[state]func() // contains filtered or unexported fields }
StateMachine represents the state machine.
func NewStateMachine ¶
func NewStateMachine(logger *slog.Logger) *StateMachine
NewStateMachine creates a new StateMachine.
func (*StateMachine) GetState ¶
func (sm *StateMachine) GetState() state
func (*StateMachine) SendEvent ¶
func (sm *StateMachine) SendEvent(event event)
SendEvent sends an event to the state machine.
func (*StateMachine) SetState ¶
func (sm *StateMachine) SetState(state state)
func (*StateMachine) Start ¶
func (sm *StateMachine) Start(ctx context.Context)
Start the state machine.
type UnimplementedAgentServiceServer ¶
type UnimplementedAgentServiceServer struct { }
UnimplementedAgentServiceServer must be embedded to have forward compatible implementations.
func (UnimplementedAgentServiceServer) Algo ¶
func (UnimplementedAgentServiceServer) Algo(context.Context, *AlgoRequest) (*AlgoResponse, error)
func (UnimplementedAgentServiceServer) Attestation ¶
func (UnimplementedAgentServiceServer) Attestation(context.Context, *AttestationRequest) (*AttestationResponse, error)
func (UnimplementedAgentServiceServer) Data ¶
func (UnimplementedAgentServiceServer) Data(context.Context, *DataRequest) (*DataResponse, error)
func (UnimplementedAgentServiceServer) Result ¶
func (UnimplementedAgentServiceServer) Result(context.Context, *ResultRequest) (*ResultResponse, error)
type UnsafeAgentServiceServer ¶
type UnsafeAgentServiceServer interface {
// contains filtered or unexported methods
}
UnsafeAgentServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AgentServiceServer will result in compilation errors.