Versions in this module Expand all Collapse all v0 v0.1.0 Sep 20, 2026 Changes in this version + const DerivedBlocked + const DerivedDegraded + const DerivedDown + const DerivedRunning + const PhaseBuilding + const PhaseCancelled + const PhaseFailed + const PhaseNone + const PhaseObserving + const PhasePreparing + const PhaseQueued + const PhaseReleasing + const PhaseSucceeded + const SubBlockedWaiting + var ErrImageMissing = errors.New("image not available on local daemon") + var ErrNotSwarmReady = errors.New("docker engine is not an active swarm manager") + var ErrServiceNotFound = errors.New("substrate service not found") + var LabelBookkeeping = map[string]bool + func CanTransition(from, to Phase) bool + func DeriveAppState(f AppFacts) string + func EnqueueRollback(ctx context.Context, st *state.Store, in RollbackInput) (state.DeployRecord, error) + func Transition(from, to Phase) error + type AppFacts struct + Latest state.DeployRecord + LatestSucceeded state.DeployRecord + PlacementState string + type Clock interface + Now func() time.Time + type Config struct + DeployTimeout time.Duration + DriftInterval time.Duration + ObserveWindow time.Duration + PollInterval time.Duration + ReplicasBelowFor time.Duration + func (c Config) Normalize() Config + type DriftReport struct + App string + DesiredDeployment string + Drifted bool + Services []ServiceDrift + type Engine struct + func NewEngine(cfg Config, store *state.Store, sub Substrate, images ImageChecker, ...) *Engine + func (e *Engine) AppDerivedState(ctx context.Context, appID string) (string, error) + func (e *Engine) CancelRequest(ctx context.Context, rec state.DeployRecord) error + func (e *Engine) ConvergeApp(ctx context.Context, appName, actor string) (state.DeployRecord, error) + func (e *Engine) DriftScan(ctx context.Context) + func (e *Engine) DriftShow(ctx context.Context, appName string) (*DriftReport, error) + func (e *Engine) GetDriftConverge(ctx context.Context, appName string) (bool, error) + func (e *Engine) ReapDeletingApps(ctx context.Context) + func (e *Engine) Run(ctx context.Context) error + func (e *Engine) SetDriftConverge(ctx context.Context, appName string, on bool, actor string) error + func (e *Engine) SubstrateRecon(ctx context.Context) + func (e *Engine) Tick(ctx context.Context) + func (e *Engine) WithClock(c Clock) *Engine + func (e *Engine) WithEnvChangedHook(fn EnvChangedHook) *Engine + func (e *Engine) WithPostDeployHook(fn PostDeployHook) *Engine + func (e *Engine) WithRoutePublisher(p RoutePublisher) *Engine + type EnvChangedHook func(appID string) + type ErrIllegalTransition struct + From Phase + To Phase + func (e *ErrIllegalTransition) Error() string + type FieldDiff struct + Actual string + Expected string + Field string + type HealthcheckSpec struct + Interval time.Duration + Retries uint64 + StartPeriod time.Duration + Test []string + Timeout time.Duration + type ImageChecker interface + ImageDigest func(ctx context.Context, ref string) (string, error) + type MountSpec struct + ReadOnly bool + Target string + VolumeName string + type NetworkAttach struct + Aliases []string + Name string + type Phase string + func AllPhases() []Phase + func LegalTransitions(from Phase) []Phase + func (p Phase) Terminal() bool + func (p Phase) Valid() bool + type PlacementResolver interface + Apply func(ctx context.Context, in placement.Input) (placement.Decision, error) + Preflight func(ctx context.Context, appID string) error + Resolve func(ctx context.Context, in placement.Input) (placement.Decision, error) + type Plan struct + DesiredHash string + DesiredSpecJSON []byte + EnvSnapshotHash string + Services []ServiceSpec + Warnings []compose.Warning + func BuildPlan(in PlanInput) (*Plan, error) + type PlanInput struct + AppID string + AppName string + ComposeEnv map[string]map[string]string + Decision placement.Decision + DeploymentID string + FileEnv map[string]map[string]string + Images map[string]string + PlatformEnv []envlayer.PlatformVar + Spec *compose.Spec + Volumes []state.Volume + type PostDeployHook func(rec state.DeployRecord) + type ResourcesSpec struct + MemoryBytes int64 + NanoCPUs int64 + type RestartPolicySpec struct + Condition string + Delay time.Duration + MaxAttempts uint64 + Window time.Duration + type RollbackInput struct + Actor string + AppName string + TargetRevisionID string + type RoutePublishInput struct + AppID string + AppName string + Services []RouteServiceSpec + type RoutePublisher interface + PublishRoutes func(ctx context.Context, in RoutePublishInput) error + type RouteServiceSpec struct + Domains []string + Port string + Service string + type SecretMount struct + SecretName string + Target string + type ServiceDrift struct + Diff []FieldDiff + Drifted bool + Extra bool + Missing bool + Service string + type ServiceSpec struct + Command []string + Constraints []string + ContainerLabels map[string]string + Env []string + Global bool + Healthcheck *HealthcheckSpec + Image string + Mounts []MountSpec + Name string + Networks []NetworkAttach + Replicas uint64 + Resources *ResourcesSpec + RestartPolicy *RestartPolicySpec + Secrets []SecretMount + ServiceLabels map[string]string + StopGracePeriod time.Duration + StopSignal string + UpdateDelay time.Duration + UpdateOrder string + UpdateParallelism uint64 + func (s ServiceSpec) DesiredHash() string + type ServiceState struct + Command []string + Constraints []string + ContainerLabels map[string]string + DesiredHash string + Env []string + Global bool + Healthcheck *HealthcheckSpec + Image string + Labels map[string]string + Mounts []MountSpec + Name string + Networks []NetworkAttach + Replicas uint64 + Resources *ResourcesSpec + RestartPolicy *RestartPolicySpec + Secrets []SecretMount + StopGracePeriod time.Duration + StopSignal string + UpdateDelay time.Duration + UpdateFailureAction string + UpdateMessage string + UpdateOrder string + UpdateParallelism uint64 + UpdateState string + Version uint64 + type Substrate interface + NetworkEnsure func(ctx context.Context, name string) error + ServiceCreate func(ctx context.Context, spec ServiceSpec) error + ServiceInspect func(ctx context.Context, name string) (ServiceState, error) + ServiceList func(ctx context.Context, labels map[string]string) ([]ServiceState, error) + ServiceRemove func(ctx context.Context, name string) error + ServiceUpdate func(ctx context.Context, name string, spec ServiceSpec) error + SwarmReady func(ctx context.Context) error + TaskList func(ctx context.Context, service string) ([]TaskState, error) + type TaskState struct + DesiredState string + Err string + ID string + Image string + Slot int + State string + Timestamp time.Time v0.1.0-rc1 Sep 19, 2026