soakflowapi

package
v1.34.0 Latest Latest
Warning

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

Go to latest
Published: May 19, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const Hostname = "soakflow.verify"

Hostname is the default hostname of the microservice.

Variables

View Source
var (
	// HINT: Insert endpoint definitions here
	Seed       = Def{Method: "POST", Route: ":428/seed"}        // MARKER: Seed
	FanA       = Def{Method: "POST", Route: ":428/fan-a"}       // MARKER: FanA
	Work       = Def{Method: "POST", Route: ":428/work"}        // MARKER: Work
	Collect    = Def{Method: "POST", Route: ":428/collect"}     // MARKER: Collect
	Loop       = Def{Method: "POST", Route: ":428/loop"}        // MARKER: Loop
	BoomR      = Def{Method: "POST", Route: ":428/boom-r"}      // MARKER: BoomR
	Recover    = Def{Method: "POST", Route: ":428/recover"}     // MARKER: Recover
	BoomF      = Def{Method: "POST", Route: ":428/boom-f"}      // MARKER: BoomF
	Join       = Def{Method: "POST", Route: ":428/join"}        // MARKER: Join
	InnerEntry = Def{Method: "POST", Route: ":428/inner-entry"} // MARKER: InnerEntry
	Soak       = Def{Method: "GET", Route: ":428/soak"}         // MARKER: Soak
	Inner      = Def{Method: "GET", Route: ":428/inner"}        // MARKER: Inner
)

Functions

This section is empty.

Types

type BoomFIn

type BoomFIn struct {
}

BoomFIn are the input arguments of BoomF.

type BoomFOut

type BoomFOut struct {
	Done bool `json:"done,omitzero"`
}

BoomFOut are the output arguments of BoomF.

type BoomRIn

type BoomRIn struct {
}

BoomRIn are the input arguments of BoomR.

type BoomROut

type BoomROut struct {
	Done bool `json:"done,omitzero"`
}

BoomROut are the output arguments of BoomR.

type Client

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

Client is a lightweight proxy for making unicast calls to the microservice.

func NewClient

func NewClient(caller service.Publisher) Client

NewClient creates a new unicast client proxy to the microservice.

func (Client) ForHost

func (_c Client) ForHost(host string) Client

ForHost returns a copy of the client with a different hostname to be applied to requests.

func (Client) WithOptions

func (_c Client) WithOptions(opts ...pub.Option) Client

WithOptions returns a copy of the client with options to be applied to requests.

type CollectIn

type CollectIn struct {
}

CollectIn are the input arguments of Collect.

type CollectOut

type CollectOut struct {
	Done bool `json:"done,omitzero"`
}

CollectOut are the output arguments of Collect.

type Def

type Def struct {
	Method string
	Route  string
}

Def is the routing identity of an endpoint exposed by this microservice.

func (Def) URL

func (d Def) URL() string

URL is the full URL of the endpoint, joined with the package-level Hostname.

type Executor

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

Executor runs tasks and workflows synchronously, blocking until termination. It is primarily intended for integration tests.

func NewExecutor

func NewExecutor(caller service.Publisher) Executor

NewExecutor creates a new executor proxy to the microservice.

func (Executor) BoomF

func (_c Executor) BoomF(ctx context.Context) (done bool, err error)

BoomF creates and runs the BoomF task.

func (Executor) BoomR

func (_c Executor) BoomR(ctx context.Context) (done bool, err error)

BoomR creates and runs the BoomR task.

func (Executor) Collect

func (_c Executor) Collect(ctx context.Context) (done bool, err error)

Collect creates and runs the Collect task.

func (Executor) FanA

func (_c Executor) FanA(ctx context.Context) (done bool, err error)

FanA creates and runs the FanA task.

func (Executor) ForHost

func (_c Executor) ForHost(host string) Executor

ForHost returns a copy of the executor with a different hostname to be applied to requests.

func (Executor) Inner

func (_c Executor) Inner(ctx context.Context) (done bool, status string, err error)

Inner creates and runs the Inner workflow, blocking until termination.

func (Executor) InnerEntry

func (_c Executor) InnerEntry(ctx context.Context) (done bool, err error)

InnerEntry creates and runs the InnerEntry task.

func (Executor) Join

func (_c Executor) Join(ctx context.Context) (done bool, err error)

Join creates and runs the Join task.

func (Executor) Loop

func (_c Executor) Loop(ctx context.Context) (done bool, err error)

Loop creates and runs the Loop task.

func (Executor) Recover

func (_c Executor) Recover(ctx context.Context) (done bool, err error)

Recover creates and runs the Recover task.

func (Executor) Seed

func (_c Executor) Seed(ctx context.Context) (done bool, err error)

Seed creates and runs the Seed task.

func (Executor) Soak

func (_c Executor) Soak(ctx context.Context) (done bool, status string, err error)

Soak creates and runs the Soak workflow, blocking until termination.

func (Executor) WithFlowOptions

func (_c Executor) WithFlowOptions(flowOptions *workflow.FlowOptions) Executor

WithFlowOptions returns a copy of the executor that creates workflows with the given flow options (priority, fairness key and weight). It has no effect on task execution.

func (Executor) WithInputFlow

func (_c Executor) WithInputFlow(flow *workflow.Flow) Executor

WithInputFlow returns a copy of the executor with an input flow to use for task execution. The input flow's state is available to the task in addition to the typed input arguments.

func (Executor) WithOptions

func (_c Executor) WithOptions(opts ...pub.Option) Executor

WithOptions returns a copy of the executor with options to be applied to requests.

func (Executor) WithOutputFlow

func (_c Executor) WithOutputFlow(flow *workflow.Flow) Executor

WithOutputFlow returns a copy of the executor with an output flow to populate after task execution. The output flow captures the full flow state including control signals (Goto, Retry, Interrupt, Sleep).

func (Executor) WithWorkflowRunner

func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor

WithWorkflowRunner returns a copy of the executor with a workflow runner for executing workflows. foremanapi.NewClient(svc) satisfies the WorkflowRunner interface.

func (Executor) Work

func (_c Executor) Work(ctx context.Context) (done bool, err error)

Work creates and runs the Work task.

type FanAIn

type FanAIn struct {
}

FanAIn are the input arguments of FanA.

type FanAOut

type FanAOut struct {
	Done bool `json:"done,omitzero"`
}

FanAOut are the output arguments of FanA.

type Hook

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

Hook assists in the subscription to the events of the microservice.

func NewHook

func NewHook(listener service.Subscriber) Hook

NewHook creates a new hook to the events of the microservice.

func (Hook) ForHost

func (c Hook) ForHost(host string) Hook

ForHost returns a copy of the hook with a different hostname to be applied to the subscription.

func (Hook) WithOptions

func (c Hook) WithOptions(opts ...sub.Option) Hook

WithOptions returns a copy of the hook with options to be applied to subscriptions.

type InnerEntryIn

type InnerEntryIn struct {
}

InnerEntryIn are the input arguments of InnerEntry.

type InnerEntryOut

type InnerEntryOut struct {
	Done bool `json:"done,omitzero"`
}

InnerEntryOut are the output arguments of InnerEntry.

type InnerIn

type InnerIn struct {
}

InnerIn are the input arguments of Inner.

type InnerOut

type InnerOut struct {
	Done bool `json:"done,omitzero"`
}

InnerOut are the output arguments of Inner.

type JoinIn

type JoinIn struct {
}

JoinIn are the input arguments of Join.

type JoinOut

type JoinOut struct {
	Done bool `json:"done,omitzero"`
}

JoinOut are the output arguments of Join.

type LoopIn

type LoopIn struct {
}

LoopIn are the input arguments of Loop.

type LoopOut

type LoopOut struct {
	Done bool `json:"done,omitzero"`
}

LoopOut are the output arguments of Loop.

type MulticastClient

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

MulticastClient is a lightweight proxy for making multicast calls to the microservice.

func NewMulticastClient

func NewMulticastClient(caller service.Publisher) MulticastClient

NewMulticastClient creates a new multicast client proxy to the microservice.

func (MulticastClient) ForHost

func (_c MulticastClient) ForHost(host string) MulticastClient

ForHost returns a copy of the client with a different hostname to be applied to requests.

func (MulticastClient) WithOptions

func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient

WithOptions returns a copy of the client with options to be applied to requests.

type MulticastTrigger

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

MulticastTrigger is a lightweight proxy for triggering the events of the microservice.

func NewMulticastTrigger

func NewMulticastTrigger(caller service.Publisher) MulticastTrigger

NewMulticastTrigger creates a new multicast trigger of events of the microservice.

func (MulticastTrigger) ForHost

func (_c MulticastTrigger) ForHost(host string) MulticastTrigger

ForHost returns a copy of the trigger with a different hostname to be applied to requests.

func (MulticastTrigger) WithOptions

func (_c MulticastTrigger) WithOptions(opts ...pub.Option) MulticastTrigger

WithOptions returns a copy of the trigger with options to be applied to requests.

type RecoverIn

type RecoverIn struct {
}

RecoverIn are the input arguments of Recover.

type RecoverOut

type RecoverOut struct {
	Done bool `json:"done,omitzero"`
}

RecoverOut are the output arguments of Recover.

type SeedIn

type SeedIn struct {
}

SeedIn are the input arguments of Seed.

type SeedOut

type SeedOut struct {
	Done bool `json:"done,omitzero"`
}

SeedOut are the output arguments of Seed.

type SoakIn

type SoakIn struct {
}

SoakIn are the input arguments of Soak.

type SoakOut

type SoakOut struct {
	Done bool `json:"done,omitzero"`
}

SoakOut are the output arguments of Soak.

type WorkIn

type WorkIn struct {
}

WorkIn are the input arguments of Work.

type WorkOut

type WorkOut struct {
	Done bool `json:"done,omitzero"`
}

WorkOut are the output arguments of Work.

type WorkflowRunner

type WorkflowRunner interface {
	Run(ctx context.Context, workflowName string, initialState any, opts *workflow.FlowOptions) (status string, state map[string]any, err error)
}

WorkflowRunner executes a workflow by name with initial state, blocking until termination. foremanapi.Client satisfies this interface.

Jump to

Keyboard shortcuts

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