Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommandPublisher ¶
type CommandPublisher interface {
Publish(ctx context.Context, operation string, payload interface{}) error
}
CommandPublisher publishes a single serialised command to the request topic.
func NewCommandPublisher ¶
func NewCommandPublisher(sender cdb.CommandObjectSender) CommandPublisher
NewCommandPublisher creates a CommandPublisher backed by the given sender.
type ConfigProvider ¶
ConfigProvider lists all known Config CRs.
type HealthcheckRunner ¶
HealthcheckRunner executes one liveness check tick: publishes create-task + update-frontmatter per Config CR.
func NewHealthcheckRunner ¶
func NewHealthcheckRunner( configProvider ConfigProvider, publisher CommandPublisher, branch base.Branch, targetVault string, ) HealthcheckRunner
NewHealthcheckRunner creates a HealthcheckRunner.
targetVault is the vault this executor owns (TASK_VAULT, defaulting to VAULT_NAME). It is stamped onto BOTH commands one tick publishes — the create-task and the update-frontmatter that follows it — and the two need it for different reasons.
On the create, the controller substitutes routing.LegacyDefaultVault ("openclaw") when TargetVault is empty and skips the write as cross-vault, so an unstamped probe is silently dropped on every vault but openclaw.
On the update, the stamp is what lets the controller tell a genuine miss from another vault's command: a stamped miss is the controller's to report as a failure, an unstamped one has to stay a skip because every controller attempts it.