Documentation
¶
Index ¶
- Constants
- Variables
- type BoomFIn
- type BoomFOut
- type BoomRIn
- type BoomROut
- type Client
- type CollectIn
- type CollectOut
- type Def
- type Executor
- func (_c Executor) BoomF(ctx context.Context) (done bool, err error)
- func (_c Executor) BoomR(ctx context.Context) (done bool, err error)
- func (_c Executor) Collect(ctx context.Context) (done bool, err error)
- func (_c Executor) FanA(ctx context.Context) (done bool, err error)
- func (_c Executor) ForHost(host string) Executor
- func (_c Executor) Inner(ctx context.Context) (done bool, status string, err error)
- func (_c Executor) InnerEntry(ctx context.Context) (done bool, err error)
- func (_c Executor) Join(ctx context.Context) (done bool, err error)
- func (_c Executor) Loop(ctx context.Context) (done bool, err error)
- func (_c Executor) Recover(ctx context.Context) (done bool, err error)
- func (_c Executor) Seed(ctx context.Context) (done bool, err error)
- func (_c Executor) Soak(ctx context.Context) (done bool, status string, err error)
- func (_c Executor) WithFlowOptions(flowOptions *workflow.FlowOptions) Executor
- func (_c Executor) WithInputFlow(flow *workflow.Flow) Executor
- func (_c Executor) WithOptions(opts ...pub.Option) Executor
- func (_c Executor) WithOutputFlow(flow *workflow.Flow) Executor
- func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor
- func (_c Executor) Work(ctx context.Context) (done bool, err error)
- type FanAIn
- type FanAOut
- type Hook
- type InnerEntryIn
- type InnerEntryOut
- type InnerIn
- type InnerOut
- type JoinIn
- type JoinOut
- type LoopIn
- type LoopOut
- type MulticastClient
- type MulticastTrigger
- type RecoverIn
- type RecoverOut
- type SeedIn
- type SeedOut
- type SoakIn
- type SoakOut
- type WorkIn
- type WorkOut
- type WorkflowRunner
Constants ¶
const Hostname = "soakflow.verify"
Hostname is the default hostname of the microservice.
Variables ¶
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 BoomFOut ¶
type BoomFOut struct {
Done bool `json:"done,omitzero"`
}
BoomFOut are the output arguments of BoomF.
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.
type CollectOut ¶
type CollectOut struct {
Done bool `json:"done,omitzero"`
}
CollectOut are the output arguments of Collect.
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 ¶
NewExecutor creates a new executor proxy to the microservice.
func (Executor) ForHost ¶
ForHost returns a copy of the executor with a different hostname to be applied to requests.
func (Executor) InnerEntry ¶
InnerEntry creates and runs the InnerEntry task.
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 ¶
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 ¶
WithOptions returns a copy of the executor with options to be applied to requests.
func (Executor) WithOutputFlow ¶
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.
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.
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 InnerOut ¶
type InnerOut struct {
Done bool `json:"done,omitzero"`
}
InnerOut are the output arguments of Inner.
type JoinOut ¶
type JoinOut struct {
Done bool `json:"done,omitzero"`
}
JoinOut are the output arguments of Join.
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 RecoverOut ¶
type RecoverOut struct {
Done bool `json:"done,omitzero"`
}
RecoverOut are the output arguments of Recover.
type SeedOut ¶
type SeedOut struct {
Done bool `json:"done,omitzero"`
}
SeedOut are the output arguments of Seed.
type SoakOut ¶
type SoakOut struct {
Done bool `json:"done,omitzero"`
}
SoakOut are the output arguments of Soak.
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.