Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterControlServer(s grpc.ServiceRegistrar, srv ControlServer)
- func RegisterDispatchServer(s grpc.ServiceRegistrar, srv DispatchServer)
- type ContainerStats
- func (*ContainerStats) Descriptor() ([]byte, []int)deprecated
- func (x *ContainerStats) GetCpuLimit() uint64
- func (x *ContainerStats) GetCpuUsageNanos() uint64
- func (x *ContainerStats) GetId() string
- func (x *ContainerStats) GetMemoryAnonBytes() uint64
- func (x *ContainerStats) GetMemoryBytes() uint64
- func (x *ContainerStats) GetMemoryLimitBytes() uint64
- func (x *ContainerStats) GetNetworkRxBytes() uint64
- func (x *ContainerStats) GetNetworkTxBytes() uint64
- func (x *ContainerStats) GetRepo() string
- func (*ContainerStats) ProtoMessage()
- func (x *ContainerStats) ProtoReflect() protoreflect.Message
- func (x *ContainerStats) Reset()
- func (x *ContainerStats) String() string
- type ContainerStatsBatch
- func (*ContainerStatsBatch) Descriptor() ([]byte, []int)deprecated
- func (x *ContainerStatsBatch) GetStats() []*ContainerStats
- func (x *ContainerStatsBatch) GetTimestampUnixNano() int64
- func (*ContainerStatsBatch) ProtoMessage()
- func (x *ContainerStatsBatch) ProtoReflect() protoreflect.Message
- func (x *ContainerStatsBatch) Reset()
- func (x *ContainerStatsBatch) String() string
- type ControlClient
- type ControlServer
- type Control_GetJobLogsClient
- type Control_GetJobLogsServer
- type CreateJobRequest
- func (*CreateJobRequest) Descriptor() ([]byte, []int)deprecated
- func (x *CreateJobRequest) GetId() string
- func (x *CreateJobRequest) GetImage() string
- func (x *CreateJobRequest) GetJitConfig() string
- func (x *CreateJobRequest) GetProvider() string
- func (x *CreateJobRequest) GetRepo() string
- func (*CreateJobRequest) ProtoMessage()
- func (x *CreateJobRequest) ProtoReflect() protoreflect.Message
- func (x *CreateJobRequest) Reset()
- func (x *CreateJobRequest) String() string
- type CreateJobResponse
- type DestroyJobRequest
- type DestroyJobResponse
- type DispatchClient
- type DispatchServer
- type Dispatch_StreamContainerStatsClient
- type Dispatch_StreamContainerStatsServer
- type GetJobLogsRequest
- func (*GetJobLogsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetJobLogsRequest) GetFollow() bool
- func (x *GetJobLogsRequest) GetId() int64
- func (*GetJobLogsRequest) ProtoMessage()
- func (x *GetJobLogsRequest) ProtoReflect() protoreflect.Message
- func (x *GetJobLogsRequest) Reset()
- func (x *GetJobLogsRequest) String() string
- type GetJobRequest
- type Job
- func (*Job) Descriptor() ([]byte, []int)deprecated
- func (x *Job) GetId() int64
- func (x *Job) GetImage() string
- func (x *Job) GetName() string
- func (x *Job) GetPid() uint32
- func (x *Job) GetRepo() string
- func (x *Job) GetRunnerId() int64
- func (x *Job) GetStartedAt() string
- func (x *Job) GetStatus() string
- func (x *Job) GetUptime() string
- func (*Job) ProtoMessage()
- func (x *Job) ProtoReflect() protoreflect.Message
- func (x *Job) Reset()
- func (x *Job) String() string
- type KillJobRequest
- type KillJobResponse
- type ListJobsRequest
- type ListJobsResponse
- type LogChunk
- type StatusRequest
- type StatusResponse
- func (*StatusResponse) Descriptor() ([]byte, []int)deprecated
- func (x *StatusResponse) GetActiveJobs() int32
- func (x *StatusResponse) GetDraining() bool
- func (x *StatusResponse) GetMaxConcurrent() int32
- func (x *StatusResponse) GetStatus() string
- func (x *StatusResponse) GetUptime() string
- func (*StatusResponse) ProtoMessage()
- func (x *StatusResponse) ProtoReflect() protoreflect.Message
- func (x *StatusResponse) Reset()
- func (x *StatusResponse) String() string
- type StreamContainerStatsRequest
- func (*StreamContainerStatsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *StreamContainerStatsRequest) GetIntervalSeconds() uint32
- func (*StreamContainerStatsRequest) ProtoMessage()
- func (x *StreamContainerStatsRequest) ProtoReflect() protoreflect.Message
- func (x *StreamContainerStatsRequest) Reset()
- func (x *StreamContainerStatsRequest) String() string
- type UnimplementedControlServer
- func (UnimplementedControlServer) GetJob(context.Context, *GetJobRequest) (*Job, error)
- func (UnimplementedControlServer) GetJobLogs(*GetJobLogsRequest, grpc.ServerStreamingServer[LogChunk]) error
- func (UnimplementedControlServer) KillJob(context.Context, *KillJobRequest) (*KillJobResponse, error)
- func (UnimplementedControlServer) ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
- func (UnimplementedControlServer) Status(context.Context, *StatusRequest) (*StatusResponse, error)
- type UnimplementedDispatchServer
- func (UnimplementedDispatchServer) CreateJob(context.Context, *CreateJobRequest) (*CreateJobResponse, error)
- func (UnimplementedDispatchServer) DestroyJob(context.Context, *DestroyJobRequest) (*DestroyJobResponse, error)
- func (UnimplementedDispatchServer) StreamContainerStats(*StreamContainerStatsRequest, grpc.ServerStreamingServer[ContainerStatsBatch]) error
- func (UnimplementedDispatchServer) WaitJob(context.Context, *WaitJobRequest) (*WaitJobResponse, error)
- type UnsafeControlServer
- type UnsafeDispatchServer
- type WaitJobRequest
- type WaitJobResponse
Constants ¶
const ( Control_Status_FullMethodName = "/ephemerd.v1.Control/Status" Control_ListJobs_FullMethodName = "/ephemerd.v1.Control/ListJobs" Control_GetJob_FullMethodName = "/ephemerd.v1.Control/GetJob" Control_KillJob_FullMethodName = "/ephemerd.v1.Control/KillJob" Control_GetJobLogs_FullMethodName = "/ephemerd.v1.Control/GetJobLogs" )
const ( Dispatch_CreateJob_FullMethodName = "/ephemerd.v1.Dispatch/CreateJob" Dispatch_WaitJob_FullMethodName = "/ephemerd.v1.Dispatch/WaitJob" Dispatch_DestroyJob_FullMethodName = "/ephemerd.v1.Dispatch/DestroyJob" Dispatch_StreamContainerStats_FullMethodName = "/ephemerd.v1.Dispatch/StreamContainerStats" )
Variables ¶
var Control_ServiceDesc = grpc.ServiceDesc{ ServiceName: "ephemerd.v1.Control", HandlerType: (*ControlServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Status", Handler: _Control_Status_Handler, }, { MethodName: "ListJobs", Handler: _Control_ListJobs_Handler, }, { MethodName: "GetJob", Handler: _Control_GetJob_Handler, }, { MethodName: "KillJob", Handler: _Control_KillJob_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "GetJobLogs", Handler: _Control_GetJobLogs_Handler, ServerStreams: true, }, }, Metadata: "api/v1/ephemerd.proto", }
Control_ServiceDesc is the grpc.ServiceDesc for Control service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var Dispatch_ServiceDesc = grpc.ServiceDesc{ ServiceName: "ephemerd.v1.Dispatch", HandlerType: (*DispatchServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "CreateJob", Handler: _Dispatch_CreateJob_Handler, }, { MethodName: "WaitJob", Handler: _Dispatch_WaitJob_Handler, }, { MethodName: "DestroyJob", Handler: _Dispatch_DestroyJob_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamContainerStats", Handler: _Dispatch_StreamContainerStats_Handler, ServerStreams: true, }, }, Metadata: "api/v1/ephemerd.proto", }
Dispatch_ServiceDesc is the grpc.ServiceDesc for Dispatch service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
var File_api_v1_ephemerd_proto protoreflect.FileDescriptor
Functions ¶
func RegisterControlServer ¶
func RegisterControlServer(s grpc.ServiceRegistrar, srv ControlServer)
func RegisterDispatchServer ¶
func RegisterDispatchServer(s grpc.ServiceRegistrar, srv DispatchServer)
Types ¶
type ContainerStats ¶
type ContainerStats struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Repo string `protobuf:"bytes,2,opt,name=repo,proto3" json:"repo,omitempty"`
CpuUsageNanos uint64 `protobuf:"varint,3,opt,name=cpu_usage_nanos,json=cpuUsageNanos,proto3" json:"cpu_usage_nanos,omitempty"` // cumulative CPU time in nanoseconds
MemoryBytes uint64 `protobuf:"varint,4,opt,name=memory_bytes,json=memoryBytes,proto3" json:"memory_bytes,omitempty"` // current usage
MemoryAnonBytes uint64 `protobuf:"varint,5,opt,name=memory_anon_bytes,json=memoryAnonBytes,proto3" json:"memory_anon_bytes,omitempty"` // anon-only (cgroup); 0 on Windows
CpuLimit uint64 `protobuf:"varint,6,opt,name=cpu_limit,json=cpuLimit,proto3" json:"cpu_limit,omitempty"` // configured vCPU count; 0 = unlimited
MemoryLimitBytes uint64 `protobuf:"varint,7,opt,name=memory_limit_bytes,json=memoryLimitBytes,proto3" json:"memory_limit_bytes,omitempty"` // configured memory cap; 0 = unlimited
// Cumulative network bytes (the runner container only — does not include
// sibling containers spawned via dind). On Linux this is read via
// netlink against the container's netns and excludes loopback. On
// Windows it sums BytesReceived/BytesSent across HCS endpoints.
NetworkRxBytes uint64 `protobuf:"varint,8,opt,name=network_rx_bytes,json=networkRxBytes,proto3" json:"network_rx_bytes,omitempty"`
NetworkTxBytes uint64 `protobuf:"varint,9,opt,name=network_tx_bytes,json=networkTxBytes,proto3" json:"network_tx_bytes,omitempty"`
// contains filtered or unexported fields
}
func (*ContainerStats) Descriptor
deprecated
func (*ContainerStats) Descriptor() ([]byte, []int)
Deprecated: Use ContainerStats.ProtoReflect.Descriptor instead.
func (*ContainerStats) GetCpuLimit ¶
func (x *ContainerStats) GetCpuLimit() uint64
func (*ContainerStats) GetCpuUsageNanos ¶
func (x *ContainerStats) GetCpuUsageNanos() uint64
func (*ContainerStats) GetId ¶
func (x *ContainerStats) GetId() string
func (*ContainerStats) GetMemoryAnonBytes ¶
func (x *ContainerStats) GetMemoryAnonBytes() uint64
func (*ContainerStats) GetMemoryBytes ¶
func (x *ContainerStats) GetMemoryBytes() uint64
func (*ContainerStats) GetMemoryLimitBytes ¶
func (x *ContainerStats) GetMemoryLimitBytes() uint64
func (*ContainerStats) GetNetworkRxBytes ¶
func (x *ContainerStats) GetNetworkRxBytes() uint64
func (*ContainerStats) GetNetworkTxBytes ¶
func (x *ContainerStats) GetNetworkTxBytes() uint64
func (*ContainerStats) GetRepo ¶
func (x *ContainerStats) GetRepo() string
func (*ContainerStats) ProtoMessage ¶
func (*ContainerStats) ProtoMessage()
func (*ContainerStats) ProtoReflect ¶
func (x *ContainerStats) ProtoReflect() protoreflect.Message
func (*ContainerStats) Reset ¶
func (x *ContainerStats) Reset()
func (*ContainerStats) String ¶
func (x *ContainerStats) String() string
type ContainerStatsBatch ¶
type ContainerStatsBatch struct {
TimestampUnixNano int64 `protobuf:"varint,1,opt,name=timestamp_unix_nano,json=timestampUnixNano,proto3" json:"timestamp_unix_nano,omitempty"` // server-side wall clock at sample time
Stats []*ContainerStats `protobuf:"bytes,2,rep,name=stats,proto3" json:"stats,omitempty"`
// contains filtered or unexported fields
}
func (*ContainerStatsBatch) Descriptor
deprecated
func (*ContainerStatsBatch) Descriptor() ([]byte, []int)
Deprecated: Use ContainerStatsBatch.ProtoReflect.Descriptor instead.
func (*ContainerStatsBatch) GetStats ¶
func (x *ContainerStatsBatch) GetStats() []*ContainerStats
func (*ContainerStatsBatch) GetTimestampUnixNano ¶
func (x *ContainerStatsBatch) GetTimestampUnixNano() int64
func (*ContainerStatsBatch) ProtoMessage ¶
func (*ContainerStatsBatch) ProtoMessage()
func (*ContainerStatsBatch) ProtoReflect ¶
func (x *ContainerStatsBatch) ProtoReflect() protoreflect.Message
func (*ContainerStatsBatch) Reset ¶
func (x *ContainerStatsBatch) Reset()
func (*ContainerStatsBatch) String ¶
func (x *ContainerStatsBatch) String() string
type ControlClient ¶
type ControlClient interface {
Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error)
ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error)
GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error)
KillJob(ctx context.Context, in *KillJobRequest, opts ...grpc.CallOption) (*KillJobResponse, error)
GetJobLogs(ctx context.Context, in *GetJobLogsRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LogChunk], error)
}
ControlClient is the client API for Control 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 NewControlClient ¶
func NewControlClient(cc grpc.ClientConnInterface) ControlClient
type ControlServer ¶
type ControlServer interface {
Status(context.Context, *StatusRequest) (*StatusResponse, error)
ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
GetJob(context.Context, *GetJobRequest) (*Job, error)
KillJob(context.Context, *KillJobRequest) (*KillJobResponse, error)
GetJobLogs(*GetJobLogsRequest, grpc.ServerStreamingServer[LogChunk]) error
// contains filtered or unexported methods
}
ControlServer is the server API for Control service. All implementations must embed UnimplementedControlServer for forward compatibility.
type Control_GetJobLogsClient ¶
type Control_GetJobLogsClient = grpc.ServerStreamingClient[LogChunk]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type Control_GetJobLogsServer ¶
type Control_GetJobLogsServer = grpc.ServerStreamingServer[LogChunk]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type CreateJobRequest ¶
type CreateJobRequest struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
JitConfig string `protobuf:"bytes,3,opt,name=jit_config,json=jitConfig,proto3" json:"jit_config,omitempty"`
// provider is the forge name (e.g. "github", "gitea"); together with
// repo it scopes dind's per-repo image cache.
Provider string `protobuf:"bytes,4,opt,name=provider,proto3" json:"provider,omitempty"`
// repo is the forge-native repo path (e.g. "owner/repo").
Repo string `protobuf:"bytes,5,opt,name=repo,proto3" json:"repo,omitempty"`
// contains filtered or unexported fields
}
func (*CreateJobRequest) Descriptor
deprecated
func (*CreateJobRequest) Descriptor() ([]byte, []int)
Deprecated: Use CreateJobRequest.ProtoReflect.Descriptor instead.
func (*CreateJobRequest) GetId ¶
func (x *CreateJobRequest) GetId() string
func (*CreateJobRequest) GetImage ¶
func (x *CreateJobRequest) GetImage() string
func (*CreateJobRequest) GetJitConfig ¶
func (x *CreateJobRequest) GetJitConfig() string
func (*CreateJobRequest) GetProvider ¶
func (x *CreateJobRequest) GetProvider() string
func (*CreateJobRequest) GetRepo ¶
func (x *CreateJobRequest) GetRepo() string
func (*CreateJobRequest) ProtoMessage ¶
func (*CreateJobRequest) ProtoMessage()
func (*CreateJobRequest) ProtoReflect ¶
func (x *CreateJobRequest) ProtoReflect() protoreflect.Message
func (*CreateJobRequest) Reset ¶
func (x *CreateJobRequest) Reset()
func (*CreateJobRequest) String ¶
func (x *CreateJobRequest) String() string
type CreateJobResponse ¶
type CreateJobResponse struct {
// contains filtered or unexported fields
}
func (*CreateJobResponse) Descriptor
deprecated
func (*CreateJobResponse) Descriptor() ([]byte, []int)
Deprecated: Use CreateJobResponse.ProtoReflect.Descriptor instead.
func (*CreateJobResponse) ProtoMessage ¶
func (*CreateJobResponse) ProtoMessage()
func (*CreateJobResponse) ProtoReflect ¶
func (x *CreateJobResponse) ProtoReflect() protoreflect.Message
func (*CreateJobResponse) Reset ¶
func (x *CreateJobResponse) Reset()
func (*CreateJobResponse) String ¶
func (x *CreateJobResponse) String() string
type DestroyJobRequest ¶
type DestroyJobRequest struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// contains filtered or unexported fields
}
func (*DestroyJobRequest) Descriptor
deprecated
func (*DestroyJobRequest) Descriptor() ([]byte, []int)
Deprecated: Use DestroyJobRequest.ProtoReflect.Descriptor instead.
func (*DestroyJobRequest) GetId ¶
func (x *DestroyJobRequest) GetId() string
func (*DestroyJobRequest) ProtoMessage ¶
func (*DestroyJobRequest) ProtoMessage()
func (*DestroyJobRequest) ProtoReflect ¶
func (x *DestroyJobRequest) ProtoReflect() protoreflect.Message
func (*DestroyJobRequest) Reset ¶
func (x *DestroyJobRequest) Reset()
func (*DestroyJobRequest) String ¶
func (x *DestroyJobRequest) String() string
type DestroyJobResponse ¶
type DestroyJobResponse struct {
// contains filtered or unexported fields
}
func (*DestroyJobResponse) Descriptor
deprecated
func (*DestroyJobResponse) Descriptor() ([]byte, []int)
Deprecated: Use DestroyJobResponse.ProtoReflect.Descriptor instead.
func (*DestroyJobResponse) ProtoMessage ¶
func (*DestroyJobResponse) ProtoMessage()
func (*DestroyJobResponse) ProtoReflect ¶
func (x *DestroyJobResponse) ProtoReflect() protoreflect.Message
func (*DestroyJobResponse) Reset ¶
func (x *DestroyJobResponse) Reset()
func (*DestroyJobResponse) String ¶
func (x *DestroyJobResponse) String() string
type DispatchClient ¶
type DispatchClient interface {
CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*CreateJobResponse, error)
WaitJob(ctx context.Context, in *WaitJobRequest, opts ...grpc.CallOption) (*WaitJobResponse, error)
DestroyJob(ctx context.Context, in *DestroyJobRequest, opts ...grpc.CallOption) (*DestroyJobResponse, error)
StreamContainerStats(ctx context.Context, in *StreamContainerStatsRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ContainerStatsBatch], error)
}
DispatchClient is the client API for Dispatch 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.
Dispatch is a lightweight job dispatch service used by the in-VM containerd-only worker (Hyper-V Linux VM on Windows, Vz Linux VM on macOS). The host scheduler sends Linux jobs here via gRPC; the worker creates containers using its local (Linux) Runtime. The host also subscribes to StreamContainerStats to surface per-container resource usage on its own /metrics endpoint without exposing a second listener inside the VM.
func NewDispatchClient ¶
func NewDispatchClient(cc grpc.ClientConnInterface) DispatchClient
type DispatchServer ¶
type DispatchServer interface {
CreateJob(context.Context, *CreateJobRequest) (*CreateJobResponse, error)
WaitJob(context.Context, *WaitJobRequest) (*WaitJobResponse, error)
DestroyJob(context.Context, *DestroyJobRequest) (*DestroyJobResponse, error)
StreamContainerStats(*StreamContainerStatsRequest, grpc.ServerStreamingServer[ContainerStatsBatch]) error
// contains filtered or unexported methods
}
DispatchServer is the server API for Dispatch service. All implementations must embed UnimplementedDispatchServer for forward compatibility.
Dispatch is a lightweight job dispatch service used by the in-VM containerd-only worker (Hyper-V Linux VM on Windows, Vz Linux VM on macOS). The host scheduler sends Linux jobs here via gRPC; the worker creates containers using its local (Linux) Runtime. The host also subscribes to StreamContainerStats to surface per-container resource usage on its own /metrics endpoint without exposing a second listener inside the VM.
type Dispatch_StreamContainerStatsClient ¶
type Dispatch_StreamContainerStatsClient = grpc.ServerStreamingClient[ContainerStatsBatch]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type Dispatch_StreamContainerStatsServer ¶
type Dispatch_StreamContainerStatsServer = grpc.ServerStreamingServer[ContainerStatsBatch]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type GetJobLogsRequest ¶
type GetJobLogsRequest struct {
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Follow bool `protobuf:"varint,2,opt,name=follow,proto3" json:"follow,omitempty"`
// contains filtered or unexported fields
}
func (*GetJobLogsRequest) Descriptor
deprecated
func (*GetJobLogsRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetJobLogsRequest.ProtoReflect.Descriptor instead.
func (*GetJobLogsRequest) GetFollow ¶
func (x *GetJobLogsRequest) GetFollow() bool
func (*GetJobLogsRequest) GetId ¶
func (x *GetJobLogsRequest) GetId() int64
func (*GetJobLogsRequest) ProtoMessage ¶
func (*GetJobLogsRequest) ProtoMessage()
func (*GetJobLogsRequest) ProtoReflect ¶
func (x *GetJobLogsRequest) ProtoReflect() protoreflect.Message
func (*GetJobLogsRequest) Reset ¶
func (x *GetJobLogsRequest) Reset()
func (*GetJobLogsRequest) String ¶
func (x *GetJobLogsRequest) String() string
type GetJobRequest ¶
type GetJobRequest struct {
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// contains filtered or unexported fields
}
func (*GetJobRequest) Descriptor
deprecated
func (*GetJobRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetJobRequest.ProtoReflect.Descriptor instead.
func (*GetJobRequest) GetId ¶
func (x *GetJobRequest) GetId() int64
func (*GetJobRequest) ProtoMessage ¶
func (*GetJobRequest) ProtoMessage()
func (*GetJobRequest) ProtoReflect ¶
func (x *GetJobRequest) ProtoReflect() protoreflect.Message
func (*GetJobRequest) Reset ¶
func (x *GetJobRequest) Reset()
func (*GetJobRequest) String ¶
func (x *GetJobRequest) String() string
type Job ¶
type Job struct {
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Repo string `protobuf:"bytes,3,opt,name=repo,proto3" json:"repo,omitempty"`
Image string `protobuf:"bytes,4,opt,name=image,proto3" json:"image,omitempty"`
RunnerId int64 `protobuf:"varint,5,opt,name=runner_id,json=runnerId,proto3" json:"runner_id,omitempty"`
Status string `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
Pid uint32 `protobuf:"varint,7,opt,name=pid,proto3" json:"pid,omitempty"`
StartedAt string `protobuf:"bytes,8,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` // RFC3339
Uptime string `protobuf:"bytes,9,opt,name=uptime,proto3" json:"uptime,omitempty"`
// contains filtered or unexported fields
}
func (*Job) Descriptor
deprecated
func (*Job) GetRunnerId ¶
func (*Job) GetStartedAt ¶
func (*Job) ProtoMessage ¶
func (*Job) ProtoMessage()
func (*Job) ProtoReflect ¶
func (x *Job) ProtoReflect() protoreflect.Message
type KillJobRequest ¶
type KillJobRequest struct {
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
// contains filtered or unexported fields
}
func (*KillJobRequest) Descriptor
deprecated
func (*KillJobRequest) Descriptor() ([]byte, []int)
Deprecated: Use KillJobRequest.ProtoReflect.Descriptor instead.
func (*KillJobRequest) GetId ¶
func (x *KillJobRequest) GetId() int64
func (*KillJobRequest) ProtoMessage ¶
func (*KillJobRequest) ProtoMessage()
func (*KillJobRequest) ProtoReflect ¶
func (x *KillJobRequest) ProtoReflect() protoreflect.Message
func (*KillJobRequest) Reset ¶
func (x *KillJobRequest) Reset()
func (*KillJobRequest) String ¶
func (x *KillJobRequest) String() string
type KillJobResponse ¶
type KillJobResponse struct {
// contains filtered or unexported fields
}
func (*KillJobResponse) Descriptor
deprecated
func (*KillJobResponse) Descriptor() ([]byte, []int)
Deprecated: Use KillJobResponse.ProtoReflect.Descriptor instead.
func (*KillJobResponse) ProtoMessage ¶
func (*KillJobResponse) ProtoMessage()
func (*KillJobResponse) ProtoReflect ¶
func (x *KillJobResponse) ProtoReflect() protoreflect.Message
func (*KillJobResponse) Reset ¶
func (x *KillJobResponse) Reset()
func (*KillJobResponse) String ¶
func (x *KillJobResponse) String() string
type ListJobsRequest ¶
type ListJobsRequest struct {
// contains filtered or unexported fields
}
func (*ListJobsRequest) Descriptor
deprecated
func (*ListJobsRequest) Descriptor() ([]byte, []int)
Deprecated: Use ListJobsRequest.ProtoReflect.Descriptor instead.
func (*ListJobsRequest) ProtoMessage ¶
func (*ListJobsRequest) ProtoMessage()
func (*ListJobsRequest) ProtoReflect ¶
func (x *ListJobsRequest) ProtoReflect() protoreflect.Message
func (*ListJobsRequest) Reset ¶
func (x *ListJobsRequest) Reset()
func (*ListJobsRequest) String ¶
func (x *ListJobsRequest) String() string
type ListJobsResponse ¶
type ListJobsResponse struct {
Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
// contains filtered or unexported fields
}
func (*ListJobsResponse) Descriptor
deprecated
func (*ListJobsResponse) Descriptor() ([]byte, []int)
Deprecated: Use ListJobsResponse.ProtoReflect.Descriptor instead.
func (*ListJobsResponse) GetJobs ¶
func (x *ListJobsResponse) GetJobs() []*Job
func (*ListJobsResponse) ProtoMessage ¶
func (*ListJobsResponse) ProtoMessage()
func (*ListJobsResponse) ProtoReflect ¶
func (x *ListJobsResponse) ProtoReflect() protoreflect.Message
func (*ListJobsResponse) Reset ¶
func (x *ListJobsResponse) Reset()
func (*ListJobsResponse) String ¶
func (x *ListJobsResponse) String() string
type LogChunk ¶
type LogChunk struct {
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
// contains filtered or unexported fields
}
func (*LogChunk) Descriptor
deprecated
func (*LogChunk) ProtoMessage ¶
func (*LogChunk) ProtoMessage()
func (*LogChunk) ProtoReflect ¶
func (x *LogChunk) ProtoReflect() protoreflect.Message
type StatusRequest ¶
type StatusRequest struct {
// contains filtered or unexported fields
}
func (*StatusRequest) Descriptor
deprecated
func (*StatusRequest) Descriptor() ([]byte, []int)
Deprecated: Use StatusRequest.ProtoReflect.Descriptor instead.
func (*StatusRequest) ProtoMessage ¶
func (*StatusRequest) ProtoMessage()
func (*StatusRequest) ProtoReflect ¶
func (x *StatusRequest) ProtoReflect() protoreflect.Message
func (*StatusRequest) Reset ¶
func (x *StatusRequest) Reset()
func (*StatusRequest) String ¶
func (x *StatusRequest) String() string
type StatusResponse ¶
type StatusResponse struct {
Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
ActiveJobs int32 `protobuf:"varint,2,opt,name=active_jobs,json=activeJobs,proto3" json:"active_jobs,omitempty"`
MaxConcurrent int32 `protobuf:"varint,3,opt,name=max_concurrent,json=maxConcurrent,proto3" json:"max_concurrent,omitempty"`
Draining bool `protobuf:"varint,4,opt,name=draining,proto3" json:"draining,omitempty"`
Uptime string `protobuf:"bytes,5,opt,name=uptime,proto3" json:"uptime,omitempty"`
// contains filtered or unexported fields
}
func (*StatusResponse) Descriptor
deprecated
func (*StatusResponse) Descriptor() ([]byte, []int)
Deprecated: Use StatusResponse.ProtoReflect.Descriptor instead.
func (*StatusResponse) GetActiveJobs ¶
func (x *StatusResponse) GetActiveJobs() int32
func (*StatusResponse) GetDraining ¶
func (x *StatusResponse) GetDraining() bool
func (*StatusResponse) GetMaxConcurrent ¶
func (x *StatusResponse) GetMaxConcurrent() int32
func (*StatusResponse) GetStatus ¶
func (x *StatusResponse) GetStatus() string
func (*StatusResponse) GetUptime ¶
func (x *StatusResponse) GetUptime() string
func (*StatusResponse) ProtoMessage ¶
func (*StatusResponse) ProtoMessage()
func (*StatusResponse) ProtoReflect ¶
func (x *StatusResponse) ProtoReflect() protoreflect.Message
func (*StatusResponse) Reset ¶
func (x *StatusResponse) Reset()
func (*StatusResponse) String ¶
func (x *StatusResponse) String() string
type StreamContainerStatsRequest ¶
type StreamContainerStatsRequest struct {
IntervalSeconds uint32 `protobuf:"varint,1,opt,name=interval_seconds,json=intervalSeconds,proto3" json:"interval_seconds,omitempty"` // 0 -> server default (10s)
// contains filtered or unexported fields
}
StreamContainerStatsRequest opens a long-lived sampling stream. The host dictates the cadence; the in-VM worker ticks at this interval and sends one ContainerStatsBatch per tick.
func (*StreamContainerStatsRequest) Descriptor
deprecated
func (*StreamContainerStatsRequest) Descriptor() ([]byte, []int)
Deprecated: Use StreamContainerStatsRequest.ProtoReflect.Descriptor instead.
func (*StreamContainerStatsRequest) GetIntervalSeconds ¶
func (x *StreamContainerStatsRequest) GetIntervalSeconds() uint32
func (*StreamContainerStatsRequest) ProtoMessage ¶
func (*StreamContainerStatsRequest) ProtoMessage()
func (*StreamContainerStatsRequest) ProtoReflect ¶
func (x *StreamContainerStatsRequest) ProtoReflect() protoreflect.Message
func (*StreamContainerStatsRequest) Reset ¶
func (x *StreamContainerStatsRequest) Reset()
func (*StreamContainerStatsRequest) String ¶
func (x *StreamContainerStatsRequest) String() string
type UnimplementedControlServer ¶
type UnimplementedControlServer struct{}
UnimplementedControlServer 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 (UnimplementedControlServer) GetJob ¶
func (UnimplementedControlServer) GetJob(context.Context, *GetJobRequest) (*Job, error)
func (UnimplementedControlServer) GetJobLogs ¶
func (UnimplementedControlServer) GetJobLogs(*GetJobLogsRequest, grpc.ServerStreamingServer[LogChunk]) error
func (UnimplementedControlServer) KillJob ¶
func (UnimplementedControlServer) KillJob(context.Context, *KillJobRequest) (*KillJobResponse, error)
func (UnimplementedControlServer) ListJobs ¶
func (UnimplementedControlServer) ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
func (UnimplementedControlServer) Status ¶
func (UnimplementedControlServer) Status(context.Context, *StatusRequest) (*StatusResponse, error)
type UnimplementedDispatchServer ¶
type UnimplementedDispatchServer struct{}
UnimplementedDispatchServer 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 (UnimplementedDispatchServer) CreateJob ¶
func (UnimplementedDispatchServer) CreateJob(context.Context, *CreateJobRequest) (*CreateJobResponse, error)
func (UnimplementedDispatchServer) DestroyJob ¶
func (UnimplementedDispatchServer) DestroyJob(context.Context, *DestroyJobRequest) (*DestroyJobResponse, error)
func (UnimplementedDispatchServer) StreamContainerStats ¶
func (UnimplementedDispatchServer) StreamContainerStats(*StreamContainerStatsRequest, grpc.ServerStreamingServer[ContainerStatsBatch]) error
func (UnimplementedDispatchServer) WaitJob ¶
func (UnimplementedDispatchServer) WaitJob(context.Context, *WaitJobRequest) (*WaitJobResponse, error)
type UnsafeControlServer ¶
type UnsafeControlServer interface {
// contains filtered or unexported methods
}
UnsafeControlServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ControlServer will result in compilation errors.
type UnsafeDispatchServer ¶
type UnsafeDispatchServer interface {
// contains filtered or unexported methods
}
UnsafeDispatchServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to DispatchServer will result in compilation errors.
type WaitJobRequest ¶
type WaitJobRequest struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// contains filtered or unexported fields
}
func (*WaitJobRequest) Descriptor
deprecated
func (*WaitJobRequest) Descriptor() ([]byte, []int)
Deprecated: Use WaitJobRequest.ProtoReflect.Descriptor instead.
func (*WaitJobRequest) GetId ¶
func (x *WaitJobRequest) GetId() string
func (*WaitJobRequest) ProtoMessage ¶
func (*WaitJobRequest) ProtoMessage()
func (*WaitJobRequest) ProtoReflect ¶
func (x *WaitJobRequest) ProtoReflect() protoreflect.Message
func (*WaitJobRequest) Reset ¶
func (x *WaitJobRequest) Reset()
func (*WaitJobRequest) String ¶
func (x *WaitJobRequest) String() string
type WaitJobResponse ¶
type WaitJobResponse struct {
ExitCode uint32 `protobuf:"varint,1,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
// contains filtered or unexported fields
}
func (*WaitJobResponse) Descriptor
deprecated
func (*WaitJobResponse) Descriptor() ([]byte, []int)
Deprecated: Use WaitJobResponse.ProtoReflect.Descriptor instead.
func (*WaitJobResponse) GetExitCode ¶
func (x *WaitJobResponse) GetExitCode() uint32
func (*WaitJobResponse) ProtoMessage ¶
func (*WaitJobResponse) ProtoMessage()
func (*WaitJobResponse) ProtoReflect ¶
func (x *WaitJobResponse) ProtoReflect() protoreflect.Message
func (*WaitJobResponse) Reset ¶
func (x *WaitJobResponse) Reset()
func (*WaitJobResponse) String ¶
func (x *WaitJobResponse) String() string