Skip to content

feat(actortemplate): add per-template GoldenSnapshotWait#189

Open
Carlos Sanchez (carlossg) wants to merge 1 commit into
agent-substrate:mainfrom
carlossg:feat/golden-snapshot-wait-per-template
Open

feat(actortemplate): add per-template GoldenSnapshotWait#189
Carlos Sanchez (carlossg) wants to merge 1 commit into
agent-substrate:mainfrom
carlossg:feat/golden-snapshot-wait-per-template

Conversation

@carlossg
Copy link
Copy Markdown

Adds an optional goldenSnapshotWait field to ActorTemplateSpec so each workload can control how long the controller waits between resuming the golden actor and taking its snapshot. Slow-booting workloads (e.g. Chromium under gVisor) need more than the 20-second default before their memory state is consistent enough to checkpoint; with this field they can set their own wait without forcing every template in the cluster to use the slowest boot budget.

When unset, the controller falls back to the existing 20-second default.

Changes

  • ActorTemplateSpec.GoldenSnapshotWait *metav1.Duration (optional)
  • Controller uses spec value when set, otherwise defaultGoldenSnapshotWait = 20s
  • CRD manifest + deepcopy regenerated via go generate

It's a good idea to open an issue first for discussion.

  • Tests pass
  • Appropriate changes to documentation are included in the PR

Replace the controller-wide ATE_GOLDEN_SNAPSHOT_WAIT env var with a
per-workload spec field. Slow-booting workloads (e.g. Chromium under
gVisor) can now set their own wait without forcing every template in
the cluster to use the slowest boot budget.
@juli4n Julian Gutierrez Oschmann (juli4n) added the area/api User-facing API changes label Jun 5, 2026
Copy link
Copy Markdown
Contributor

@EItanya Eitan Yarmush (EItanya) left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, I was running into this issue as well

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/api User-facing API changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants