sequence

package module
v0.0.0-...-70db0ab Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2022 License: MIT Imports: 30 Imported by: 0

README

sequence

push

Run sequential containerized workloads on the same volume using tools from each container along the way.

summary

Sequence is, first and foremost, a library for running sequential containerized workloads on the same volume to produce some result. To achieve this, it builds upon some existing technologies:

  • Borrow GitHub Action's Workflow syntax and expand upon it (e.g. by allowing each step to designate what image it should run inside). This should allow Sequence to utilize useful GitHub Actions, which are GitHub repositories which can be concisely referenced to execute complicated tasks (e.g. downloading and installing Go)
  • Use a pluggable container Runtime whose default implementation is Docker to run each containerized task.
  • Take advantage of Concourse Resources to additionally expand the functionality of what a single step can do

Sequence aims to have tools built from this library to unify the development and continuous integration (CI) experiences:

  • sqnctl CLI to run workflows against local changes before pushing them to be executed by CI
  • sqncd RPC daemon that can be connected to remotely to run workloads

developing

  • make is required - version 3.81 is tested
  • golang is required - version 1.18.x or above is required for generics
  • docker is required - version 20.10.x is tested
  • buf is required if modifying proto - version 1.4.x is tested
  • upx is required for compressing sqnc-shim on generate
  • protoc is required if modifying proto - version 3.19.x is tested

The latter two of these can be installed by:

make tools
test

Create a .env that looks like .env.example but with a real GitHub token, and:

make test # go test ./...
lint

Format .go code.

make fmt    # go fmt ./...
make lint   # golangci-lint run
generate

Generate .go code from .proto code.

make generate # buf generate .

Documentation

Index

Constants

View Source
const (
	ImageNode12        = Image("docker.io/library/node:12")
	ImageNode16        = Image("docker.io/library/node:16")
	DefaultRunnerImage = ImageNode12
)
View Source
const (
	// ActionMetadataKey is the key in a Step's
	// Step_Out.Metadata map that holds the json
	// encoding of the action that the step cloned.
	ActionMetadataKey = "__sqnc_action_metadata"
)
View Source
const (
	// WorkflowServiceName is the fully-qualified name of the WorkflowService service.
	WorkflowServiceName = "sequence.WorkflowService"
)

Variables

View Source
var (
	ErrCompositeActionMetadata    = errors.New("action metadata is composite")
	ErrNotCompositeActionMetadata = errors.New("action metadata is not composite")
)
View Source
var (
	Version = "0.0.0"

	Prerelease = ""
)
View Source
var ErrUnmeetableJobNeeds = errors.New("job has an unmeetable needs clause")
View Source
var File_workflow_proto protoreflect.FileDescriptor

New is an alias to NewClient.

Functions

func IsErrUnmeetableJobNeeds

func IsErrUnmeetableJobNeeds(err error) bool

func NewStepsFromNonCompositeMetadata

func NewStepsFromNonCompositeMetadata(a *actions.Metadata, path string, parentStep *Step) (*Step, *Step, *Step, error)

func NewWorkflowServiceHandler

func NewWorkflowServiceHandler(svc WorkflowServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler)

NewWorkflowServiceHandler builds an HTTP handler from the service implementation. It returns the path on which to mount the handler and the handler itself.

By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf and JSON codecs. They also support gzip compression.

func Semver

func Semver() string

func WithVerbose

func WithVerbose(e *executor) error

Types

type Client

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

Client is a wrapper around each of sequence's rpc clients.

func NewClient

func NewClient(ctx context.Context, addr *url.URL, opts ...ClientOpt) (*Client, error)

NewClient returns a new Client.

func (*Client) Runtime

func (c *Client) Runtime() runtime.Runtime

Runtime returns a runtime.Runtime implementation using the underlying clients.

func (*Client) RuntimeClient

func (c *Client) RuntimeClient() sqnc.RuntimeServiceClient

RuntimeClient returns the client's underlying rpc RuntimeClient.

func (*Client) WorkflowsClient

func (c *Client) WorkflowsClient() WorkflowServiceClient

WorkflowsClient returns the client's underlying rpc WorkflowClient.

type ClientOpt

type ClientOpt func(context.Context, *Client) error

func WithHTTPClient

func WithHTTPClient(hc *http.Client) ClientOpt

type Event

type Event[T any] struct {
	Type          T
	GlobalContext *actions.GlobalContext
}

type Executor

type Executor interface {
	Execute() error
	ExecuteContext(context.Context) error
}

func NewJobExecutor

func NewJobExecutor(ctx context.Context, job *Job, opts ...ExecutorOpt) (Executor, error)

func NewStepsExecutor

func NewStepsExecutor(ctx context.Context, steps []*Step, opts ...ExecutorOpt) (Executor, error)

func NewWorkflowExecutor

func NewWorkflowExecutor(ctx context.Context, workflow *Workflow, opts ...ExecutorOpt) (Executor, error)

type ExecutorOpt

type ExecutorOpt func(*executor) error

func OnContainerCreate

func OnContainerCreate(hooks ...Hook[runtime.Container]) ExecutorOpt

func OnImagePull

func OnImagePull(hooks ...Hook[runtime.Image]) ExecutorOpt

func OnJobFinish

func OnJobFinish(hooks ...Hook[*Job]) ExecutorOpt

func OnJobStart

func OnJobStart(hooks ...Hook[*Job]) ExecutorOpt

func OnStepFinish

func OnStepFinish(hooks ...Hook[*Step]) ExecutorOpt

func OnStepStart

func OnStepStart(hooks ...Hook[*Step]) ExecutorOpt

func OnVolumeCreate

func OnVolumeCreate(hooks ...Hook[runtime.Volume]) ExecutorOpt

func OnWorkflowCommand

func OnWorkflowCommand(hooks ...Hook[*actions.WorkflowCommand]) ExecutorOpt

func OnWorkflowFinish

func OnWorkflowFinish(hooks ...Hook[*Workflow]) ExecutorOpt

func OnWorkflowStart

func OnWorkflowStart(hooks ...Hook[*Workflow]) ExecutorOpt

func WithGlobalContext

func WithGlobalContext(gc *actions.GlobalContext) ExecutorOpt

func WithJobName

func WithJobName(jobName string) ExecutorOpt

func WithRunnerImage

func WithRunnerImage(image runtime.Image) ExecutorOpt

func WithRuntime

func WithRuntime(runtime runtime.Runtime) ExecutorOpt

func WithStreams

func WithStreams(in io.Reader, out, err io.Writer) ExecutorOpt

func WithWorkflowName

func WithWorkflowName(workflowName string) ExecutorOpt

type Hook

type Hook[T any] func(*Event[T])

type Hooks

type Hooks[T any] []Hook[T]

func (Hooks[T]) Invoke

func (h Hooks[T]) Invoke(event *Event[T])

type Image

type Image string

func (Image) GetRef

func (i Image) GetRef() string

func (Image) GoString

func (i Image) GoString() string

func (Image) String

func (i Image) String() string

type Job

type Job struct {
	Steps       []*Step           `protobuf:"bytes,1,rep,name=steps,proto3" json:"steps,omitempty"`
	RunsOn      string            `protobuf:"bytes,2,opt,name=runs_on,json=runsOn,proto3" json:"runs_on,omitempty"`
	Container   *Job_Container    `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"`
	Name        string            `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	Outputs     map[string]string `` /* 155-byte string literal not displayed */
	Env         map[string]string `` /* 147-byte string literal not displayed */
	Environment *Job_Environment  `protobuf:"bytes,7,opt,name=environment,proto3" json:"environment,omitempty"`
	If          string            `protobuf:"bytes,8,opt,name=if,proto3" json:"if,omitempty"`
	Needs       string            `protobuf:"bytes,9,opt,name=needs,proto3" json:"needs,omitempty"`
	// contains filtered or unexported fields
}

func NewJobFromFile

func NewJobFromFile(name string) (*Job, error)

func NewJobFromReader

func NewJobFromReader(r io.Reader) (*Job, error)

func (*Job) Descriptor deprecated

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

Deprecated: Use Job.ProtoReflect.Descriptor instead.

func (*Job) GetContainer

func (x *Job) GetContainer() *Job_Container

func (*Job) GetEnv

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

func (*Job) GetEnvironment

func (x *Job) GetEnvironment() *Job_Environment

func (*Job) GetIf

func (x *Job) GetIf() string

func (*Job) GetName

func (x *Job) GetName() string

func (*Job) GetNeeds

func (x *Job) GetNeeds() string

func (*Job) GetOutputs

func (x *Job) GetOutputs() map[string]string

func (*Job) GetRunsOn

func (x *Job) GetRunsOn() string

func (*Job) GetStep

func (j *Job) GetStep(id string) (*Step, error)

func (*Job) GetSteps

func (x *Job) GetSteps() []*Step

func (*Job) ProtoMessage

func (*Job) ProtoMessage()

func (*Job) ProtoReflect

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

func (*Job) Reset

func (x *Job) Reset()

func (*Job) String

func (x *Job) String() string

type Job_Container

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

func (*Job_Container) Descriptor deprecated

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

Deprecated: Use Job_Container.ProtoReflect.Descriptor instead.

func (*Job_Container) GetImage

func (x *Job_Container) GetImage() string

func (*Job_Container) GetRef

func (c *Job_Container) GetRef() string

func (*Job_Container) ProtoMessage

func (*Job_Container) ProtoMessage()

func (*Job_Container) ProtoReflect

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

func (*Job_Container) Reset

func (x *Job_Container) Reset()

func (*Job_Container) String

func (x *Job_Container) String() string

type Job_Environment

type Job_Environment struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Url  string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	// contains filtered or unexported fields
}

func (*Job_Environment) Descriptor deprecated

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

Deprecated: Use Job_Environment.ProtoReflect.Descriptor instead.

func (*Job_Environment) GetName

func (x *Job_Environment) GetName() string

func (*Job_Environment) GetUrl

func (x *Job_Environment) GetUrl() string

func (*Job_Environment) ProtoMessage

func (*Job_Environment) ProtoMessage()

func (*Job_Environment) ProtoReflect

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

func (*Job_Environment) Reset

func (x *Job_Environment) Reset()

func (*Job_Environment) String

func (x *Job_Environment) String() string

type RunJobRequest

type RunJobRequest struct {
	Job         *Job      `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
	Workflow    *Workflow `protobuf:"bytes,2,opt,name=workflow,proto3" json:"workflow,omitempty"`
	Repository  string    `protobuf:"bytes,4,opt,name=repository,proto3" json:"repository,omitempty"`
	RunnerImage string    `protobuf:"bytes,5,opt,name=runner_image,json=runnerImage,proto3" json:"runner_image,omitempty"`
	Verbose     bool      `protobuf:"varint,6,opt,name=verbose,proto3" json:"verbose,omitempty"`
	// contains filtered or unexported fields
}

func (*RunJobRequest) Descriptor deprecated

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

Deprecated: Use RunJobRequest.ProtoReflect.Descriptor instead.

func (*RunJobRequest) GetJob

func (x *RunJobRequest) GetJob() *Job

func (*RunJobRequest) GetRepository

func (x *RunJobRequest) GetRepository() string

func (*RunJobRequest) GetRunnerImage

func (x *RunJobRequest) GetRunnerImage() string

func (*RunJobRequest) GetVerbose

func (x *RunJobRequest) GetVerbose() bool

func (*RunJobRequest) GetWorkflow

func (x *RunJobRequest) GetWorkflow() *Workflow

func (*RunJobRequest) ProtoMessage

func (*RunJobRequest) ProtoMessage()

func (*RunJobRequest) ProtoReflect

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

func (*RunJobRequest) Reset

func (x *RunJobRequest) Reset()

func (*RunJobRequest) String

func (x *RunJobRequest) String() string

type RunJobResponse

type RunJobResponse struct {
	Log *rpcio.Log `protobuf:"bytes,1,opt,name=log,proto3" json:"log,omitempty"`
	// contains filtered or unexported fields
}

func (*RunJobResponse) Descriptor deprecated

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

Deprecated: Use RunJobResponse.ProtoReflect.Descriptor instead.

func (*RunJobResponse) GetLog

func (x *RunJobResponse) GetLog() *rpcio.Log

func (*RunJobResponse) ProtoMessage

func (*RunJobResponse) ProtoMessage()

func (*RunJobResponse) ProtoReflect

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

func (*RunJobResponse) Reset

func (x *RunJobResponse) Reset()

func (*RunJobResponse) String

func (x *RunJobResponse) String() string

type RunStepRequest

type RunStepRequest struct {
	Step        *Step     `protobuf:"bytes,1,opt,name=step,proto3" json:"step,omitempty"`
	Job         *Job      `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"`
	Workflow    *Workflow `protobuf:"bytes,3,opt,name=workflow,proto3" json:"workflow,omitempty"`
	Repository  string    `protobuf:"bytes,4,opt,name=repository,proto3" json:"repository,omitempty"`
	RunnerImage string    `protobuf:"bytes,5,opt,name=runner_image,json=runnerImage,proto3" json:"runner_image,omitempty"`
	Verbose     bool      `protobuf:"varint,6,opt,name=verbose,proto3" json:"verbose,omitempty"`
	// contains filtered or unexported fields
}

func (*RunStepRequest) Descriptor deprecated

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

Deprecated: Use RunStepRequest.ProtoReflect.Descriptor instead.

func (*RunStepRequest) GetJob

func (x *RunStepRequest) GetJob() *Job

func (*RunStepRequest) GetRepository

func (x *RunStepRequest) GetRepository() string

func (*RunStepRequest) GetRunnerImage

func (x *RunStepRequest) GetRunnerImage() string

func (*RunStepRequest) GetStep

func (x *RunStepRequest) GetStep() *Step

func (*RunStepRequest) GetVerbose

func (x *RunStepRequest) GetVerbose() bool

func (*RunStepRequest) GetWorkflow

func (x *RunStepRequest) GetWorkflow() *Workflow

func (*RunStepRequest) ProtoMessage

func (*RunStepRequest) ProtoMessage()

func (*RunStepRequest) ProtoReflect

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

func (*RunStepRequest) Reset

func (x *RunStepRequest) Reset()

func (*RunStepRequest) String

func (x *RunStepRequest) String() string

type RunStepResponse

type RunStepResponse struct {
	Log *rpcio.Log `protobuf:"bytes,1,opt,name=log,proto3" json:"log,omitempty"`
	// contains filtered or unexported fields
}

func (*RunStepResponse) Descriptor deprecated

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

Deprecated: Use RunStepResponse.ProtoReflect.Descriptor instead.

func (*RunStepResponse) GetLog

func (x *RunStepResponse) GetLog() *rpcio.Log

func (*RunStepResponse) ProtoMessage

func (*RunStepResponse) ProtoMessage()

func (*RunStepResponse) ProtoReflect

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

func (*RunStepResponse) Reset

func (x *RunStepResponse) Reset()

func (*RunStepResponse) String

func (x *RunStepResponse) String() string

type RunWorkflowRequest

type RunWorkflowRequest struct {
	Workflow    *Workflow `protobuf:"bytes,1,opt,name=workflow,proto3" json:"workflow,omitempty"`
	Repository  string    `protobuf:"bytes,4,opt,name=repository,proto3" json:"repository,omitempty"`
	RunnerImage string    `protobuf:"bytes,5,opt,name=runner_image,json=runnerImage,proto3" json:"runner_image,omitempty"`
	Verbose     bool      `protobuf:"varint,6,opt,name=verbose,proto3" json:"verbose,omitempty"`
	// contains filtered or unexported fields
}

func (*RunWorkflowRequest) Descriptor deprecated

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

Deprecated: Use RunWorkflowRequest.ProtoReflect.Descriptor instead.

func (*RunWorkflowRequest) GetRepository

func (x *RunWorkflowRequest) GetRepository() string

func (*RunWorkflowRequest) GetRunnerImage

func (x *RunWorkflowRequest) GetRunnerImage() string

func (*RunWorkflowRequest) GetVerbose

func (x *RunWorkflowRequest) GetVerbose() bool

func (*RunWorkflowRequest) GetWorkflow

func (x *RunWorkflowRequest) GetWorkflow() *Workflow

func (*RunWorkflowRequest) ProtoMessage

func (*RunWorkflowRequest) ProtoMessage()

func (*RunWorkflowRequest) ProtoReflect

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

func (*RunWorkflowRequest) Reset

func (x *RunWorkflowRequest) Reset()

func (*RunWorkflowRequest) String

func (x *RunWorkflowRequest) String() string

type RunWorkflowResponse

type RunWorkflowResponse struct {
	Log *rpcio.Log `protobuf:"bytes,1,opt,name=log,proto3" json:"log,omitempty"`
	// contains filtered or unexported fields
}

func (*RunWorkflowResponse) Descriptor deprecated

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

Deprecated: Use RunWorkflowResponse.ProtoReflect.Descriptor instead.

func (*RunWorkflowResponse) GetLog

func (x *RunWorkflowResponse) GetLog() *rpcio.Log

func (*RunWorkflowResponse) ProtoMessage

func (*RunWorkflowResponse) ProtoMessage()

func (*RunWorkflowResponse) ProtoReflect

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

func (*RunWorkflowResponse) Reset

func (x *RunWorkflowResponse) Reset()

func (*RunWorkflowResponse) String

func (x *RunWorkflowResponse) String() string

type Step

type Step struct {
	Id         string            `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name       string            `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Image      string            `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"`
	Entrypoint []string          `protobuf:"bytes,4,rep,name=entrypoint,proto3" json:"entrypoint,omitempty"`
	Cmd        []string          `protobuf:"bytes,5,rep,name=cmd,proto3" json:"cmd,omitempty"`
	Privileged bool              `protobuf:"varint,6,opt,name=privileged,proto3" json:"privileged,omitempty"`
	Env        map[string]string `` /* 147-byte string literal not displayed */
	If         string            `protobuf:"bytes,8,opt,name=if,proto3" json:"if,omitempty"`
	Shell      string            `protobuf:"bytes,9,opt,name=shell,proto3" json:"shell,omitempty"`
	Run        string            `protobuf:"bytes,10,opt,name=run,proto3" json:"run,omitempty"`
	Uses       string            `protobuf:"bytes,11,opt,name=uses,proto3" json:"uses,omitempty"`
	With       map[string]string `` /* 150-byte string literal not displayed */
	// contains filtered or unexported fields
}

func NewStepFromFile

func NewStepFromFile(name string) (*Step, error)

NewStepFromFile parses and returns a Step from the given file name.

func NewStepFromReader

func NewStepFromReader(r io.Reader) (*Step, error)

NewStepFromReader parses and returns a Step from the given reader e.g. a file.

func NewStepsFromCompositeActionMetadata

func NewStepsFromCompositeActionMetadata(a *actions.Metadata, path string) ([]*Step, error)

func (*Step) Descriptor deprecated

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

Deprecated: Use Step.ProtoReflect.Descriptor instead.

func (*Step) GetCmd

func (x *Step) GetCmd() []string

func (*Step) GetEntrypoint

func (x *Step) GetEntrypoint() []string

func (*Step) GetEnv

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

func (*Step) GetID

func (s *Step) GetID() string

GetID returns the step's effective ID.

func (*Step) GetId

func (x *Step) GetId() string

func (*Step) GetIf

func (x *Step) GetIf() string

func (*Step) GetImage

func (x *Step) GetImage() string

func (*Step) GetName

func (x *Step) GetName() string

func (*Step) GetPrivileged

func (x *Step) GetPrivileged() bool

func (*Step) GetRun

func (x *Step) GetRun() string

func (*Step) GetShell

func (x *Step) GetShell() string

func (*Step) GetUses

func (x *Step) GetUses() string

func (*Step) GetWith

func (x *Step) GetWith() map[string]string

func (*Step) IsGitHubAction

func (s *Step) IsGitHubAction() bool

IsGitHubAction returns whether or not the step is a GitHub Action.

func (*Step) ProtoMessage

func (*Step) ProtoMessage()

func (*Step) ProtoReflect

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

func (*Step) Reset

func (x *Step) Reset()

func (*Step) String

func (x *Step) String() string

type Step_Out

type Step_Out struct {
	Version  map[string]*anypb.Any `` /* 155-byte string literal not displayed */
	Metadata map[string]string     `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Step_Out) Descriptor deprecated

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

Deprecated: Use Step_Out.ProtoReflect.Descriptor instead.

func (*Step_Out) GetActionMetadata

func (o *Step_Out) GetActionMetadata() (*actions.Metadata, error)

func (*Step_Out) GetMetadata

func (x *Step_Out) GetMetadata() map[string]string

func (*Step_Out) GetVersion

func (x *Step_Out) GetVersion() map[string]*anypb.Any

func (*Step_Out) ProtoMessage

func (*Step_Out) ProtoMessage()

func (*Step_Out) ProtoReflect

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

func (*Step_Out) Reset

func (x *Step_Out) Reset()

func (*Step_Out) String

func (x *Step_Out) String() string

type UnimplementedWorkflowServiceHandler

type UnimplementedWorkflowServiceHandler struct{}

UnimplementedWorkflowServiceHandler returns CodeUnimplemented from all methods.

type Workflow

type Workflow struct {
	Name string          `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Jobs map[string]*Job `` /* 149-byte string literal not displayed */
	// contains filtered or unexported fields
}

func NewWorkflowFromFile

func NewWorkflowFromFile(name string) (*Workflow, error)

func NewWorkflowFromReader

func NewWorkflowFromReader(r io.Reader) (*Workflow, error)

func (*Workflow) Descriptor deprecated

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

Deprecated: Use Workflow.ProtoReflect.Descriptor instead.

func (*Workflow) GetJob

func (w *Workflow) GetJob(name string) (*Job, error)

func (*Workflow) GetJobs

func (x *Workflow) GetJobs() map[string]*Job

func (*Workflow) GetName

func (x *Workflow) GetName() string

func (*Workflow) GetStep

func (w *Workflow) GetStep(id string) (*Step, error)

func (*Workflow) ProtoMessage

func (*Workflow) ProtoMessage()

func (*Workflow) ProtoReflect

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

func (*Workflow) Reset

func (x *Workflow) Reset()

func (*Workflow) String

func (x *Workflow) String() string

type WorkflowServiceClient

WorkflowServiceClient is a client for the sequence.WorkflowService service.

func NewWorkflowServiceClient

func NewWorkflowServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) WorkflowServiceClient

NewWorkflowServiceClient constructs a client for the sequence.WorkflowService service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options.

The URL supplied here should be the base URL for the Connect or gRPC server (for example, http://api.acme.com or https://acme.com/grpc).

type WorkflowServiceHandler

WorkflowServiceHandler is an implementation of the sequence.WorkflowService service.

Directories

Path Synopsis
cmd
internal
arr
cmd/protoc-gen-sqnc
protoc-gen-connect-go is a plugin for the Protobuf compiler that generates Go code.
protoc-gen-connect-go is a plugin for the Protobuf compiler that generates Go code.
log
pkg

Jump to

Keyboard shortcuts

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