pluginv1alpha

package
v13.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2026 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BackendPlugin_Capabilities_FullMethodName = "/plugin.v1alpha.BackendPlugin/Capabilities"
	BackendPlugin_Create_FullMethodName       = "/plugin.v1alpha.BackendPlugin/Create"
	BackendPlugin_Start_FullMethodName        = "/plugin.v1alpha.BackendPlugin/Start"
	BackendPlugin_Exec_FullMethodName         = "/plugin.v1alpha.BackendPlugin/Exec"
	BackendPlugin_CopyIn_FullMethodName       = "/plugin.v1alpha.BackendPlugin/CopyIn"
	BackendPlugin_CopyOut_FullMethodName      = "/plugin.v1alpha.BackendPlugin/CopyOut"
	BackendPlugin_Remove_FullMethodName       = "/plugin.v1alpha.BackendPlugin/Remove"
)

Variables

View Source
var (
	DataChunk_Stream_name = map[int32]string{
		0: "STDOUT",
		1: "STDERR",
	}
	DataChunk_Stream_value = map[string]int32{
		"STDOUT": 0,
		"STDERR": 1,
	}
)

Enum value maps for DataChunk_Stream.

View Source
var BackendPlugin_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "plugin.v1alpha.BackendPlugin",
	HandlerType: (*BackendPluginServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Capabilities",
			Handler:    _BackendPlugin_Capabilities_Handler,
		},
		{
			MethodName: "Create",
			Handler:    _BackendPlugin_Create_Handler,
		},
		{
			MethodName: "Remove",
			Handler:    _BackendPlugin_Remove_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "Start",
			Handler:       _BackendPlugin_Start_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "Exec",
			Handler:       _BackendPlugin_Exec_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "CopyIn",
			Handler:       _BackendPlugin_CopyIn_Handler,
			ClientStreams: true,
		},
		{
			StreamName:    "CopyOut",
			Handler:       _BackendPlugin_CopyOut_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "act/plugin/proto/v1alpha/plugin.proto",
}

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

View Source
var File_act_plugin_proto_v1alpha_plugin_proto protoreflect.FileDescriptor

Functions

func RegisterBackendPluginServer

func RegisterBackendPluginServer(s grpc.ServiceRegistrar, srv BackendPluginServer)

Types

type BackendPluginClient

type BackendPluginClient interface {
	// Capabilities returns the backend's identity, filesystem layout, and the one
	// feature flag the runner needs. Called once at connection time.
	Capabilities(ctx context.Context, in *CapabilitiesRequest, opts ...grpc.CallOption) (*CapabilitiesResponse, error)
	// Create provisions a new execution environment. Service containers are
	// passed here so the backend realises them however fits its platform.
	Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error)
	// Start boots a previously created environment.
	//
	// Start implementations should detect when the RPC stream is terminated
	// externally before the command completes, as this will signal explicit job
	// cancellation, or job timeout. When detected, the implementation should
	// terminate the startup process on the environment. The Remove RPC for the
	// environment will follow, even though the Start RPC did not complete.
	Start(ctx context.Context, in *StartRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[StartOutput], error)
	// Exec runs a command inside the environment, streaming stdout/stderr back.
	//
	// Exec implementations should detect when the RPC stream is terminated
	// externally before the command completes, as this will signal explicit job
	// cancellation, job timeout, or command timeout. When detected, the
	// implementation should terminate the running command on the
	// environment. Implementation should not rely on a failed write to the
	// output stream as its cancellation signal as some commands produce
	// infrequent output. (Implementation note: observing context cancellation in
	// Go, a cancellation-aware select on the response channel in Rust's
	// `tokio::sync::mspc::Sender::closed()`, or a server-side cancellation
	// callback in Python/Java.)
	Exec(ctx context.Context, in *ExecRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ExecOutput], error)
	// CopyIn transfers a tar archive into the environment.
	CopyIn(ctx context.Context, opts ...grpc.CallOption) (grpc.ClientStreamingClient[CopyInChunk, CopyInResponse], error)
	// CopyOut transfers a tar archive out of the environment. The runner reads
	// env files (GITHUB_ENV/OUTPUT/STATE) back this way and parses them itself.
	CopyOut(ctx context.Context, in *CopyOutRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CopyOutChunk], error)
	// Remove tears down the environment and releases its resources.
	Remove(ctx context.Context, in *RemoveRequest, opts ...grpc.CallOption) (*RemoveResponse, error)
}

BackendPluginClient is the client API for BackendPlugin 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.

BackendPlugin is the gRPC service a plugin server implements to run jobs in an execution environment it owns (a Kubernetes pod, a VM, ...). The runner connects to a standalone plugin server and drives the environment lifecycle through it. Plugin servers must also expose the standard grpc.health.v1 service.

For any given environment ID, the runner will not invoke a new RPC while a previous RPS for that environment is outstanding, with one exception: for streaming RPCs, the runner closes or cancels the stream and may immediately invoke a subsequent RPC (typically `Remove`). As teardown of a cancelled stream is not instantaneous, implementations may observe a subsequent RPC invoked while a previous streaming RPC's handler is still executing internally. This behaviour is expected. Exclusive locking of each environment during each RPC is recommended for most implementations to accomodate this, ensuring that a `Remove` operation and the last in-flight RPC operation (currently being cancelled) do not cause internal errors.

This is an alpha protocol: it may change in incompatible ways between releases. Errors are reported with gRPC status codes; the runner relies on NotFound (unknown environment_id) and InvalidArgument (malformed request), and treats Unavailable as the plugin being gone. The status message is shown in the job log; no structured error details are defined yet.

type BackendPluginServer

type BackendPluginServer interface {
	// Capabilities returns the backend's identity, filesystem layout, and the one
	// feature flag the runner needs. Called once at connection time.
	Capabilities(context.Context, *CapabilitiesRequest) (*CapabilitiesResponse, error)
	// Create provisions a new execution environment. Service containers are
	// passed here so the backend realises them however fits its platform.
	Create(context.Context, *CreateRequest) (*CreateResponse, error)
	// Start boots a previously created environment.
	//
	// Start implementations should detect when the RPC stream is terminated
	// externally before the command completes, as this will signal explicit job
	// cancellation, or job timeout. When detected, the implementation should
	// terminate the startup process on the environment. The Remove RPC for the
	// environment will follow, even though the Start RPC did not complete.
	Start(*StartRequest, grpc.ServerStreamingServer[StartOutput]) error
	// Exec runs a command inside the environment, streaming stdout/stderr back.
	//
	// Exec implementations should detect when the RPC stream is terminated
	// externally before the command completes, as this will signal explicit job
	// cancellation, job timeout, or command timeout. When detected, the
	// implementation should terminate the running command on the
	// environment. Implementation should not rely on a failed write to the
	// output stream as its cancellation signal as some commands produce
	// infrequent output. (Implementation note: observing context cancellation in
	// Go, a cancellation-aware select on the response channel in Rust's
	// `tokio::sync::mspc::Sender::closed()`, or a server-side cancellation
	// callback in Python/Java.)
	Exec(*ExecRequest, grpc.ServerStreamingServer[ExecOutput]) error
	// CopyIn transfers a tar archive into the environment.
	CopyIn(grpc.ClientStreamingServer[CopyInChunk, CopyInResponse]) error
	// CopyOut transfers a tar archive out of the environment. The runner reads
	// env files (GITHUB_ENV/OUTPUT/STATE) back this way and parses them itself.
	CopyOut(*CopyOutRequest, grpc.ServerStreamingServer[CopyOutChunk]) error
	// Remove tears down the environment and releases its resources.
	Remove(context.Context, *RemoveRequest) (*RemoveResponse, error)
	// contains filtered or unexported methods
}

BackendPluginServer is the server API for BackendPlugin service. All implementations must embed UnimplementedBackendPluginServer for forward compatibility.

BackendPlugin is the gRPC service a plugin server implements to run jobs in an execution environment it owns (a Kubernetes pod, a VM, ...). The runner connects to a standalone plugin server and drives the environment lifecycle through it. Plugin servers must also expose the standard grpc.health.v1 service.

For any given environment ID, the runner will not invoke a new RPC while a previous RPS for that environment is outstanding, with one exception: for streaming RPCs, the runner closes or cancels the stream and may immediately invoke a subsequent RPC (typically `Remove`). As teardown of a cancelled stream is not instantaneous, implementations may observe a subsequent RPC invoked while a previous streaming RPC's handler is still executing internally. This behaviour is expected. Exclusive locking of each environment during each RPC is recommended for most implementations to accomodate this, ensuring that a `Remove` operation and the last in-flight RPC operation (currently being cancelled) do not cause internal errors.

This is an alpha protocol: it may change in incompatible ways between releases. Errors are reported with gRPC status codes; the runner relies on NotFound (unknown environment_id) and InvalidArgument (malformed request), and treats Unavailable as the plugin being gone. The status message is shown in the job log; no structured error details are defined yet.

type BackendPlugin_CopyInClient

type BackendPlugin_CopyInClient = grpc.ClientStreamingClient[CopyInChunk, CopyInResponse]

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

type BackendPlugin_CopyInServer

type BackendPlugin_CopyInServer = grpc.ClientStreamingServer[CopyInChunk, CopyInResponse]

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

type BackendPlugin_CopyOutClient

type BackendPlugin_CopyOutClient = grpc.ServerStreamingClient[CopyOutChunk]

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

type BackendPlugin_CopyOutServer

type BackendPlugin_CopyOutServer = grpc.ServerStreamingServer[CopyOutChunk]

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

type BackendPlugin_ExecClient

type BackendPlugin_ExecClient = grpc.ServerStreamingClient[ExecOutput]

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

type BackendPlugin_ExecServer

type BackendPlugin_ExecServer = grpc.ServerStreamingServer[ExecOutput]

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

type BackendPlugin_StartClient

type BackendPlugin_StartClient = grpc.ServerStreamingClient[StartOutput]

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

type BackendPlugin_StartServer

type BackendPlugin_StartServer = grpc.ServerStreamingServer[StartOutput]

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

type CapabilitiesRequest

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

func (*CapabilitiesRequest) Descriptor deprecated

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

Deprecated: Use CapabilitiesRequest.ProtoReflect.Descriptor instead.

func (*CapabilitiesRequest) ProtoMessage

func (*CapabilitiesRequest) ProtoMessage()

func (*CapabilitiesRequest) ProtoReflect

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

func (*CapabilitiesRequest) Reset

func (x *CapabilitiesRequest) Reset()

func (*CapabilitiesRequest) String

func (x *CapabilitiesRequest) String() string

type CapabilitiesResponse

type CapabilitiesResponse struct {

	// name identifies the backend (e.g. "kubernetes"); used in logs and as the
	// container back-end name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*CapabilitiesResponse) Descriptor deprecated

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

Deprecated: Use CapabilitiesResponse.ProtoReflect.Descriptor instead.

func (*CapabilitiesResponse) GetName

func (x *CapabilitiesResponse) GetName() string

func (*CapabilitiesResponse) ProtoMessage

func (*CapabilitiesResponse) ProtoMessage()

func (*CapabilitiesResponse) ProtoReflect

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

func (*CapabilitiesResponse) Reset

func (x *CapabilitiesResponse) Reset()

func (*CapabilitiesResponse) String

func (x *CapabilitiesResponse) String() string

type CopyInChunk

type CopyInChunk struct {
	EnvironmentId *string `protobuf:"bytes,1,opt,name=environment_id,json=environmentId,proto3,oneof" json:"environment_id,omitempty"`
	// dest_path is the directory the tar archive is extracted into. The plugin
	// must ensure that the destination folder exists in the target environment
	// before extracting the incoming data stream.
	DestPath *string `protobuf:"bytes,2,opt,name=dest_path,json=destPath,proto3,oneof" json:"dest_path,omitempty"`
	// data is a chunk of the tar archive.
	Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

CopyInChunk frames the client-streaming CopyIn RPC. The first chunk MUST set environment_id and dest_path; subsequent chunks carry only data. Servers MUST reject environment_id or dest_path on later chunks with codes.InvalidArgument.

func (*CopyInChunk) Descriptor deprecated

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

Deprecated: Use CopyInChunk.ProtoReflect.Descriptor instead.

func (*CopyInChunk) GetData

func (x *CopyInChunk) GetData() []byte

func (*CopyInChunk) GetDestPath

func (x *CopyInChunk) GetDestPath() string

func (*CopyInChunk) GetEnvironmentId

func (x *CopyInChunk) GetEnvironmentId() string

func (*CopyInChunk) ProtoMessage

func (*CopyInChunk) ProtoMessage()

func (*CopyInChunk) ProtoReflect

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

func (*CopyInChunk) Reset

func (x *CopyInChunk) Reset()

func (*CopyInChunk) String

func (x *CopyInChunk) String() string

type CopyInResponse

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

func (*CopyInResponse) Descriptor deprecated

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

Deprecated: Use CopyInResponse.ProtoReflect.Descriptor instead.

func (*CopyInResponse) ProtoMessage

func (*CopyInResponse) ProtoMessage()

func (*CopyInResponse) ProtoReflect

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

func (*CopyInResponse) Reset

func (x *CopyInResponse) Reset()

func (*CopyInResponse) String

func (x *CopyInResponse) String() string

type CopyOutChunk

type CopyOutChunk struct {

	// data is a chunk of the tar archive.
	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

func (*CopyOutChunk) Descriptor deprecated

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

Deprecated: Use CopyOutChunk.ProtoReflect.Descriptor instead.

func (*CopyOutChunk) GetData

func (x *CopyOutChunk) GetData() []byte

func (*CopyOutChunk) ProtoMessage

func (*CopyOutChunk) ProtoMessage()

func (*CopyOutChunk) ProtoReflect

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

func (*CopyOutChunk) Reset

func (x *CopyOutChunk) Reset()

func (*CopyOutChunk) String

func (x *CopyOutChunk) String() string

type CopyOutRequest

type CopyOutRequest struct {
	EnvironmentId string `protobuf:"bytes,1,opt,name=environment_id,json=environmentId,proto3" json:"environment_id,omitempty"`
	// src_path is the path inside the environment to archive and stream out.
	SrcPath string `protobuf:"bytes,2,opt,name=src_path,json=srcPath,proto3" json:"src_path,omitempty"`
	// contains filtered or unexported fields
}

func (*CopyOutRequest) Descriptor deprecated

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

Deprecated: Use CopyOutRequest.ProtoReflect.Descriptor instead.

func (*CopyOutRequest) GetEnvironmentId

func (x *CopyOutRequest) GetEnvironmentId() string

func (*CopyOutRequest) GetSrcPath

func (x *CopyOutRequest) GetSrcPath() string

func (*CopyOutRequest) ProtoMessage

func (*CopyOutRequest) ProtoMessage()

func (*CopyOutRequest) ProtoReflect

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

func (*CopyOutRequest) Reset

func (x *CopyOutRequest) Reset()

func (*CopyOutRequest) String

func (x *CopyOutRequest) String() string

type CreateRequest

type CreateRequest struct {

	// image is the backend-defined reference for the job container image, opaque
	// to the protocol (a Docker image name, a VM template, ...).
	Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	// name is a runner-assigned handle for the environment, unique per job.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// cap_add / cap_drop are advisory Linux capability adjustments; backends that
	// cannot apply them ignore them.
	CapAdd  []string `protobuf:"bytes,5,rep,name=cap_add,json=capAdd,proto3" json:"cap_add,omitempty"`
	CapDrop []string `protobuf:"bytes,6,rep,name=cap_drop,json=capDrop,proto3" json:"cap_drop,omitempty"`
	// services are the service containers to bring up alongside the job.
	Services []*ServiceContainer `protobuf:"bytes,7,rep,name=services,proto3" json:"services,omitempty"`
	// backend_options are opaque, backend-specific options taken verbatim from
	// the runner's per-label plugin configuration (e.g. namespace, VM flavour).
	BackendOptions map[string]string `` /* 177-byte string literal not displayed */
	// label_arg is the optional suffix of the runs-on plugin label.
	LabelArg string `protobuf:"bytes,9,opt,name=label_arg,json=labelArg,proto3" json:"label_arg,omitempty"`
	// environment_timeout limits the lifetime of this execution environment.
	EnvironmentTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=environment_timeout,json=environmentTimeout,proto3" json:"environment_timeout,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateRequest) Descriptor deprecated

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

Deprecated: Use CreateRequest.ProtoReflect.Descriptor instead.

func (*CreateRequest) GetBackendOptions

func (x *CreateRequest) GetBackendOptions() map[string]string

func (*CreateRequest) GetCapAdd

func (x *CreateRequest) GetCapAdd() []string

func (*CreateRequest) GetCapDrop

func (x *CreateRequest) GetCapDrop() []string

func (*CreateRequest) GetEnvironmentTimeout

func (x *CreateRequest) GetEnvironmentTimeout() *durationpb.Duration

func (*CreateRequest) GetImage

func (x *CreateRequest) GetImage() string

func (*CreateRequest) GetLabelArg

func (x *CreateRequest) GetLabelArg() string

func (*CreateRequest) GetName

func (x *CreateRequest) GetName() string

func (*CreateRequest) GetServices

func (x *CreateRequest) GetServices() []*ServiceContainer

func (*CreateRequest) ProtoMessage

func (*CreateRequest) ProtoMessage()

func (*CreateRequest) ProtoReflect

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

func (*CreateRequest) Reset

func (x *CreateRequest) Reset()

func (*CreateRequest) String

func (x *CreateRequest) String() string

type CreateResponse

type CreateResponse struct {

	// environment_id is the handle for all later RPCs targeting this environment.
	EnvironmentId string `protobuf:"bytes,1,opt,name=environment_id,json=environmentId,proto3" json:"environment_id,omitempty"`
	// root_path is the base directory the runner lays workflow files out
	// under.
	RootPath string `protobuf:"bytes,2,opt,name=root_path,json=rootPath,proto3" json:"root_path,omitempty"`
	// act_path is the directory where the runner stages its helper binaries and
	// action code.
	ActPath string `protobuf:"bytes,3,opt,name=act_path,json=actPath,proto3" json:"act_path,omitempty"`
	// tool_cache_path is exposed to jobs as RUNNER_TOOL_CACHE.
	ToolCachePath string `protobuf:"bytes,4,opt,name=tool_cache_path,json=toolCachePath,proto3" json:"tool_cache_path,omitempty"`
	// temp_path is exposed to jobs as RUNNER_TEMP.
	TempPath string `protobuf:"bytes,5,opt,name=temp_path,json=tempPath,proto3" json:"temp_path,omitempty"`
	// path_variable_name is the search-path environment variable; the runner uses
	// "PATH" when unset.
	PathVariableName *string `protobuf:"bytes,6,opt,name=path_variable_name,json=pathVariableName,proto3,oneof" json:"path_variable_name,omitempty"`
	// default_path_variable is the search path used when a job sets none.
	DefaultPathVariable *string `` /* 126-byte string literal not displayed */
	// path_separator joins path entries; the runner uses ":" when unset.
	PathSeparator *string `protobuf:"bytes,8,opt,name=path_separator,json=pathSeparator,proto3,oneof" json:"path_separator,omitempty"`
	// environment_case_insensitive marks environments whose variable names are
	// case-insensitive (Windows), so the runner de-duplicates accordingly.
	EnvironmentCaseInsensitive bool `` /* 142-byte string literal not displayed */
	// os populates the RUNNER_OS environment variable exposed to the job.
	Os string `protobuf:"bytes,10,opt,name=os,proto3" json:"os,omitempty"`
	// arch populates the RUNNER_ARCH environment variable exposed to the job.
	Arch string `protobuf:"bytes,11,opt,name=arch,proto3" json:"arch,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateResponse) Descriptor deprecated

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

Deprecated: Use CreateResponse.ProtoReflect.Descriptor instead.

func (*CreateResponse) GetActPath

func (x *CreateResponse) GetActPath() string

func (*CreateResponse) GetArch

func (x *CreateResponse) GetArch() string

func (*CreateResponse) GetDefaultPathVariable

func (x *CreateResponse) GetDefaultPathVariable() string

func (*CreateResponse) GetEnvironmentCaseInsensitive

func (x *CreateResponse) GetEnvironmentCaseInsensitive() bool

func (*CreateResponse) GetEnvironmentId

func (x *CreateResponse) GetEnvironmentId() string

func (*CreateResponse) GetOs

func (x *CreateResponse) GetOs() string

func (*CreateResponse) GetPathSeparator

func (x *CreateResponse) GetPathSeparator() string

func (*CreateResponse) GetPathVariableName

func (x *CreateResponse) GetPathVariableName() string

func (*CreateResponse) GetRootPath

func (x *CreateResponse) GetRootPath() string

func (*CreateResponse) GetTempPath

func (x *CreateResponse) GetTempPath() string

func (*CreateResponse) GetToolCachePath

func (x *CreateResponse) GetToolCachePath() string

func (*CreateResponse) ProtoMessage

func (*CreateResponse) ProtoMessage()

func (*CreateResponse) ProtoReflect

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

func (*CreateResponse) Reset

func (x *CreateResponse) Reset()

func (*CreateResponse) String

func (x *CreateResponse) String() string

type DataChunk

type DataChunk struct {

	// stream identifies which output data belongs to.
	Stream DataChunk_Stream `protobuf:"varint,1,opt,name=stream,proto3,enum=plugin.v1alpha.DataChunk_Stream" json:"stream,omitempty"`
	// data is a chunk of output bytes.
	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	// contains filtered or unexported fields
}

func (*DataChunk) Descriptor deprecated

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

Deprecated: Use DataChunk.ProtoReflect.Descriptor instead.

func (*DataChunk) GetData

func (x *DataChunk) GetData() []byte

func (*DataChunk) GetStream

func (x *DataChunk) GetStream() DataChunk_Stream

func (*DataChunk) ProtoMessage

func (*DataChunk) ProtoMessage()

func (*DataChunk) ProtoReflect

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

func (*DataChunk) Reset

func (x *DataChunk) Reset()

func (*DataChunk) String

func (x *DataChunk) String() string

type DataChunk_Stream

type DataChunk_Stream int32
const (
	DataChunk_STDOUT DataChunk_Stream = 0
	DataChunk_STDERR DataChunk_Stream = 1
)

func (DataChunk_Stream) Descriptor

func (DataChunk_Stream) Enum

func (DataChunk_Stream) EnumDescriptor deprecated

func (DataChunk_Stream) EnumDescriptor() ([]byte, []int)

Deprecated: Use DataChunk_Stream.Descriptor instead.

func (DataChunk_Stream) Number

func (DataChunk_Stream) String

func (x DataChunk_Stream) String() string

func (DataChunk_Stream) Type

type ExecComplete

type ExecComplete struct {

	// exit_code is the command's exit status; only set on the final message.
	ExitCode int32 `protobuf:"varint,1,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"`
	// contains filtered or unexported fields
}

func (*ExecComplete) Descriptor deprecated

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

Deprecated: Use ExecComplete.ProtoReflect.Descriptor instead.

func (*ExecComplete) GetExitCode

func (x *ExecComplete) GetExitCode() int32

func (*ExecComplete) ProtoMessage

func (*ExecComplete) ProtoMessage()

func (*ExecComplete) ProtoReflect

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

func (*ExecComplete) Reset

func (x *ExecComplete) Reset()

func (*ExecComplete) String

func (x *ExecComplete) String() string

type ExecFailed

type ExecFailed struct {

	// error_message describes a failure to run the command (as opposed to the
	// command failing); only set on the final message.
	ErrorMessage string `protobuf:"bytes,1,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
	// contains filtered or unexported fields
}

func (*ExecFailed) Descriptor deprecated

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

Deprecated: Use ExecFailed.ProtoReflect.Descriptor instead.

func (*ExecFailed) GetErrorMessage

func (x *ExecFailed) GetErrorMessage() string

func (*ExecFailed) ProtoMessage

func (*ExecFailed) ProtoMessage()

func (*ExecFailed) ProtoReflect

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

func (*ExecFailed) Reset

func (x *ExecFailed) Reset()

func (*ExecFailed) String

func (x *ExecFailed) String() string

type ExecOutput

type ExecOutput struct {

	// Types that are valid to be assigned to Output:
	//
	//	*ExecOutput_Data
	//	*ExecOutput_ExecComplete
	//	*ExecOutput_ExecFailed
	Output isExecOutput_Output `protobuf_oneof:"Output"`
	// contains filtered or unexported fields
}

func (*ExecOutput) Descriptor deprecated

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

Deprecated: Use ExecOutput.ProtoReflect.Descriptor instead.

func (*ExecOutput) GetData

func (x *ExecOutput) GetData() *DataChunk

func (*ExecOutput) GetExecComplete

func (x *ExecOutput) GetExecComplete() *ExecComplete

func (*ExecOutput) GetExecFailed

func (x *ExecOutput) GetExecFailed() *ExecFailed

func (*ExecOutput) GetOutput

func (x *ExecOutput) GetOutput() isExecOutput_Output

func (*ExecOutput) ProtoMessage

func (*ExecOutput) ProtoMessage()

func (*ExecOutput) ProtoReflect

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

func (*ExecOutput) Reset

func (x *ExecOutput) Reset()

func (*ExecOutput) String

func (x *ExecOutput) String() string

type ExecOutput_Data

type ExecOutput_Data struct {
	Data *DataChunk `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type ExecOutput_ExecComplete

type ExecOutput_ExecComplete struct {
	ExecComplete *ExecComplete `protobuf:"bytes,2,opt,name=exec_complete,json=execComplete,proto3,oneof"`
}

type ExecOutput_ExecFailed

type ExecOutput_ExecFailed struct {
	ExecFailed *ExecFailed `protobuf:"bytes,3,opt,name=exec_failed,json=execFailed,proto3,oneof"`
}

type ExecRequest

type ExecRequest struct {
	EnvironmentId string `protobuf:"bytes,1,opt,name=environment_id,json=environmentId,proto3" json:"environment_id,omitempty"`
	// command is the argv to run; command[0] is the executable.
	Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"`
	// env are environment variables to set for this command.
	Env map[string]string `` /* 133-byte string literal not displayed */
	// user is the user to run as; the backend's default is used when unset.
	User *string `protobuf:"bytes,4,opt,name=user,proto3,oneof" json:"user,omitempty"`
	// workdir overrides the working directory for this command; the environment's
	// default is used when unset.
	Workdir string `protobuf:"bytes,5,opt,name=workdir,proto3" json:"workdir,omitempty"`
	// contains filtered or unexported fields
}

func (*ExecRequest) Descriptor deprecated

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

Deprecated: Use ExecRequest.ProtoReflect.Descriptor instead.

func (*ExecRequest) GetCommand

func (x *ExecRequest) GetCommand() []string

func (*ExecRequest) GetEnv

func (x *ExecRequest) GetEnv() map[string]string

func (*ExecRequest) GetEnvironmentId

func (x *ExecRequest) GetEnvironmentId() string

func (*ExecRequest) GetUser

func (x *ExecRequest) GetUser() string

func (*ExecRequest) GetWorkdir

func (x *ExecRequest) GetWorkdir() string

func (*ExecRequest) ProtoMessage

func (*ExecRequest) ProtoMessage()

func (*ExecRequest) ProtoReflect

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

func (*ExecRequest) Reset

func (x *ExecRequest) Reset()

func (*ExecRequest) String

func (x *ExecRequest) String() string

type RemoveRequest

type RemoveRequest struct {
	EnvironmentId string `protobuf:"bytes,1,opt,name=environment_id,json=environmentId,proto3" json:"environment_id,omitempty"`
	// contains filtered or unexported fields
}

func (*RemoveRequest) Descriptor deprecated

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

Deprecated: Use RemoveRequest.ProtoReflect.Descriptor instead.

func (*RemoveRequest) GetEnvironmentId

func (x *RemoveRequest) GetEnvironmentId() string

func (*RemoveRequest) ProtoMessage

func (*RemoveRequest) ProtoMessage()

func (*RemoveRequest) ProtoReflect

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

func (*RemoveRequest) Reset

func (x *RemoveRequest) Reset()

func (*RemoveRequest) String

func (x *RemoveRequest) String() string

type RemoveResponse

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

func (*RemoveResponse) Descriptor deprecated

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

Deprecated: Use RemoveResponse.ProtoReflect.Descriptor instead.

func (*RemoveResponse) ProtoMessage

func (*RemoveResponse) ProtoMessage()

func (*RemoveResponse) ProtoReflect

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

func (*RemoveResponse) Reset

func (x *RemoveResponse) Reset()

func (*RemoveResponse) String

func (x *RemoveResponse) String() string

type ServiceContainer

type ServiceContainer struct {

	// name is the service ID from the workflow `services:` block.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// image is the backend-defined image reference for the service.
	Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
	// env are the service container's environment variables.
	Env map[string]string `` /* 133-byte string literal not displayed */
	// ports are host:container port mappings requested for the service.
	Ports []string `protobuf:"bytes,4,rep,name=ports,proto3" json:"ports,omitempty"`
	// contains filtered or unexported fields
}

func (*ServiceContainer) Descriptor deprecated

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

Deprecated: Use ServiceContainer.ProtoReflect.Descriptor instead.

func (*ServiceContainer) GetEnv

func (x *ServiceContainer) GetEnv() map[string]string

func (*ServiceContainer) GetImage

func (x *ServiceContainer) GetImage() string

func (*ServiceContainer) GetName

func (x *ServiceContainer) GetName() string

func (*ServiceContainer) GetPorts

func (x *ServiceContainer) GetPorts() []string

func (*ServiceContainer) ProtoMessage

func (*ServiceContainer) ProtoMessage()

func (*ServiceContainer) ProtoReflect

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

func (*ServiceContainer) Reset

func (x *ServiceContainer) Reset()

func (*ServiceContainer) String

func (x *ServiceContainer) String() string

type StartComplete

type StartComplete struct {

	// image_env are environment variables baked into the resolved image (e.g. a
	// Docker image's ENV). The runner layers them under the job's own variables.
	ImageEnv map[string]string `` /* 159-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*StartComplete) Descriptor deprecated

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

Deprecated: Use StartComplete.ProtoReflect.Descriptor instead.

func (*StartComplete) GetImageEnv

func (x *StartComplete) GetImageEnv() map[string]string

func (*StartComplete) ProtoMessage

func (*StartComplete) ProtoMessage()

func (*StartComplete) ProtoReflect

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

func (*StartComplete) Reset

func (x *StartComplete) Reset()

func (*StartComplete) String

func (x *StartComplete) String() string

type StartOutput

type StartOutput struct {

	// Types that are valid to be assigned to Output:
	//
	//	*StartOutput_Data
	//	*StartOutput_StartComplete
	Output isStartOutput_Output `protobuf_oneof:"Output"`
	// contains filtered or unexported fields
}

func (*StartOutput) Descriptor deprecated

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

Deprecated: Use StartOutput.ProtoReflect.Descriptor instead.

func (*StartOutput) GetData

func (x *StartOutput) GetData() *DataChunk

func (*StartOutput) GetOutput

func (x *StartOutput) GetOutput() isStartOutput_Output

func (*StartOutput) GetStartComplete

func (x *StartOutput) GetStartComplete() *StartComplete

func (*StartOutput) ProtoMessage

func (*StartOutput) ProtoMessage()

func (*StartOutput) ProtoReflect

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

func (*StartOutput) Reset

func (x *StartOutput) Reset()

func (*StartOutput) String

func (x *StartOutput) String() string

type StartOutput_Data

type StartOutput_Data struct {
	Data *DataChunk `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type StartOutput_StartComplete

type StartOutput_StartComplete struct {
	StartComplete *StartComplete `protobuf:"bytes,2,opt,name=start_complete,json=startComplete,proto3,oneof"`
}

type StartRequest

type StartRequest struct {
	EnvironmentId string `protobuf:"bytes,1,opt,name=environment_id,json=environmentId,proto3" json:"environment_id,omitempty"`
	// contains filtered or unexported fields
}

func (*StartRequest) Descriptor deprecated

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

Deprecated: Use StartRequest.ProtoReflect.Descriptor instead.

func (*StartRequest) GetEnvironmentId

func (x *StartRequest) GetEnvironmentId() string

func (*StartRequest) ProtoMessage

func (*StartRequest) ProtoMessage()

func (*StartRequest) ProtoReflect

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

func (*StartRequest) Reset

func (x *StartRequest) Reset()

func (*StartRequest) String

func (x *StartRequest) String() string

type UnimplementedBackendPluginServer

type UnimplementedBackendPluginServer struct{}

UnimplementedBackendPluginServer 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 (UnimplementedBackendPluginServer) Capabilities

func (UnimplementedBackendPluginServer) CopyIn

func (UnimplementedBackendPluginServer) CopyOut

func (UnimplementedBackendPluginServer) Create

func (UnimplementedBackendPluginServer) Exec

func (UnimplementedBackendPluginServer) Remove

func (UnimplementedBackendPluginServer) Start

type UnsafeBackendPluginServer

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

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

Jump to

Keyboard shortcuts

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