runtimeexecutordispatch

package
v0.40.0 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package runtimeexecutordispatch routes an already-authorized shared runtime request across exact opaque execution channels. It owns no transport, endpoint discovery, credentials, provider lifecycle, or product policy.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OperationStateForSteps

func OperationStateForSteps(steps []runtimeapply.StepSnapshot) runtimeapply.OperationState

OperationStateForSteps derives the operation state a journal must report for a step set. A failure is terminal only once nothing is left to attempt: while other independent steps are still pending or running, the operation keeps running so they can be tried. This mirrors the shared contract, which admits a failed step in a running snapshot but requires a settled failure to be reported as reconcile-required.

Every journal implementation must derive the same state from the same steps, so this is the one place the rule lives.

Types

type Dispatcher

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

Dispatcher is a provider-neutral composite executor. Every child invocation is re-sealed and independently verified through runtimeexecutor.Invoke.

func New

func New(identity runtimeexecutor.ExecutorIdentity, routes []Route) (*Dispatcher, error)

func NewWithJournal

func NewWithJournal(identity runtimeexecutor.ExecutorIdentity, routes []Route, journal runtimeapply.Journal) (*Dispatcher, error)

NewWithJournal fixes a durable provider-neutral operation journal at construction. Apply callers cannot supply or replace it.

func (*Dispatcher) Execute

func (d *Dispatcher) Execute(ctx context.Context, request runtimeexecutor.ExecutionRequest) (runtimeexecutor.ExecutionOutcome, error)

func (*Dispatcher) Identity

func (d *Dispatcher) Identity() runtimeexecutor.ExecutorIdentity

type OwnerRoute

type OwnerRoute struct {
	Target       runtimeexecutor.RuntimeTarget
	Executor     runtimeexecutor.Executor
	Compensation runtimeapply.CompensationMode
}

OwnerRoute binds one complete, already-verified RuntimeTarget to one typed executor selected by the product integration. Target is the authority selector: matching only an owner name, module, or requirement ID would allow contract, node, workload, artifact, or access authority substitution.

OwnerRoute contains no endpoint, credential, provider lifecycle, lease, or transport configuration. Remote execution remains the responsibility of an outer execution-channel dispatcher selected by the owning control plane.

type OwnerRouter

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

OwnerRouter dispatches the independently executable owners on one exact execution channel. All target mappings and child requests are prepared before the first child is invoked. When constructed with a Journal, durable idempotency and resume are fixed at the router boundary.

func NewOwnerRouter

func NewOwnerRouter(identity runtimeexecutor.ExecutorIdentity, routes []OwnerRoute) (*OwnerRouter, error)

NewOwnerRouter fixes the exact target-to-owner mapping at construction. Apply request callers cannot choose or replace a child executor.

func NewOwnerRouterWithJournal

func NewOwnerRouterWithJournal(identity runtimeexecutor.ExecutorIdentity, routes []OwnerRoute, journal runtimeapply.Journal) (*OwnerRouter, error)

NewOwnerRouterWithJournal fixes a durable provider-neutral operation journal at construction. Apply callers cannot supply or replace it.

func (*OwnerRouter) Execute

func (r *OwnerRouter) Execute(ctx context.Context, request runtimeexecutor.ExecutionRequest) (runtimeexecutor.ExecutionOutcome, error)

func (*OwnerRouter) Identity

func (r *OwnerRouter) Identity() runtimeexecutor.ExecutorIdentity

type ReconcileRequiredError

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

ReconcileRequiredError is the provider-free structured partial-failure result. It exposes only the exact validated operation and durable snapshot; adapter payloads, logs, endpoints, credentials, and provider handles are not part of either shared contract.

func (*ReconcileRequiredError) Critical

func (e *ReconcileRequiredError) Critical() bool

Critical reports whether the failure stopped the rollout. A critical failure abandons the remaining steps, so the durable snapshot shows work that was never attempted; a non-critical one means every step was attempted and the snapshot is the complete record of what this Apply achieved.

func (*ReconcileRequiredError) Error

func (e *ReconcileRequiredError) Error() string

func (*ReconcileRequiredError) Operation

func (e *ReconcileRequiredError) Operation() runtimeapply.Operation

Operation returns a defensive copy of the exact registered child authority.

func (*ReconcileRequiredError) Snapshot

func (e *ReconcileRequiredError) Snapshot() runtimeapply.Snapshot

Snapshot returns a defensive copy of the validated reconcile-required state.

func (*ReconcileRequiredError) Unwrap

func (e *ReconcileRequiredError) Unwrap() error

type Route

type Route struct {
	ChannelRef   string
	Executor     runtimeexecutor.Executor
	Compensation runtimeapply.CompensationMode
}

Route binds one opaque plan-owned channel identity to one executor selected by the owning control plane. ChannelRef is not an endpoint or credential.

Jump to

Keyboard shortcuts

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