Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions internal/agentruntime/charts.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ package agentruntime
// deployments. It MUST be updated as a single edit; bumping it here
// updates every consumer in lockstep.
//
// Chart 0.3.3 ships remote-signer image `v0.4.0`, which honours
// Chart 0.4.0 ships remote-signer image `v0.4.0`, which honours
// `SIGNER__AUTH__TOKEN` (the bearer token the controller mints into the
// keystore Secret and injects via env). Canonical Ethereum recovery-id
// signatures (`v=27/28`) from `/sign/.../message`, `/sign/.../typed-data`,
Expand All @@ -14,5 +14,11 @@ package agentruntime
// the buy.py caller to renormalize for EIP-712 / ERC-3009 verifiers like
// USDC `transferWithAuthorization`.
//
// 0.4.0 also renders `spec.strategy` from `.Values.strategy` (defaulting to
// `Recreate`), so the RWO-keystore singleton no longer needs an imperative
// post-sync `kubectl patch` to stay off RollingUpdate. `values-remote-signer.yaml`
// pins `strategy.type: Recreate` explicitly so the intent is visible at the
// obol-stack layer and survives any future change to the chart default.
//
// renovate: datasource=helm depName=remote-signer registryUrl=https://obolnetwork.github.io/helm-charts/
const RemoteSignerChartVersion = "0.3.3"
const RemoteSignerChartVersion = "0.4.0"
59 changes: 0 additions & 59 deletions internal/agentruntime/signer.go

This file was deleted.

58 changes: 0 additions & 58 deletions internal/agentruntime/signer_test.go

This file was deleted.

7 changes: 0 additions & 7 deletions internal/hermes/hermes.go
Original file line number Diff line number Diff line change
Expand Up @@ -254,13 +254,6 @@ func Sync(cfg *config.Config, id string, u *ui.UI) error {
return fmt.Errorf("helmfile sync failed: %w", err)
}

// The remote-signer chart cannot express strategy: Recreate itself; pin
// it post-sync so the RWO keystore PVC never faces a RollingUpdate surge
// (deadlocks on multi-node volume attach).
if err := agentruntime.EnforceRemoteSignerRecreate(cfg, agentruntime.Namespace(agentruntime.Hermes, id)); err != nil {
u.Warnf("Could not pin remote-signer Recreate strategy (continuing): %v", err)
}

// Publish wallet-metadata ConfigMap for the frontend (namespace now exists).
applyWalletMetadataConfigMap(cfg, id, deploymentDir)

Expand Down
7 changes: 0 additions & 7 deletions internal/openclaw/openclaw.go
Original file line number Diff line number Diff line change
Expand Up @@ -454,13 +454,6 @@ func doSync(cfg *config.Config, id string, u *ui.UI) error {
return fmt.Errorf("helmfile sync failed: %w", err)
}

// The remote-signer chart cannot express strategy: Recreate itself; pin
// it post-sync so the RWO keystore PVC never faces a RollingUpdate surge
// (deadlocks on multi-node volume attach).
if err := agentruntime.EnforceRemoteSignerRecreate(cfg, namespace); err != nil {
u.Warnf("Could not pin remote-signer Recreate strategy (continuing): %v", err)
}

// Patch ConfigMap to inject heartbeat config that the chart template
// does not render. The chart's _helpers.tpl only outputs
// agents.defaults.model and agents.defaults.workspace into openclaw.json,
Expand Down
8 changes: 8 additions & 0 deletions internal/openclaw/wallet.go
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,14 @@ func generateRemoteSignerValues(wallet *WalletInfo) string {
keystorePassword:
value: %q

# The signer is a singleton over a ReadWriteOnce keystore PVC: a RollingUpdate
# surge pod can wedge on the volume attach on multi-node clusters and briefly
# double-runs the signer over the same keystore on any cluster. Recreate is the
# chart default as of remote-signer 0.4.0; pinned explicitly here so the intent
# is visible and robust to a future chart-default change.
strategy:
type: Recreate

persistence:
enabled: true
size: 100Mi
Expand Down