Skip to content

build: bump sandbox-operator to c9d9fda, carry the lease deadline, retire sandboxdx - #6

Merged
CMGS merged 2 commits into
masterfrom
build/sandbox-operator-b86d04f
Aug 17, 2026
Merged

build: bump sandbox-operator to c9d9fda, carry the lease deadline, retire sandboxdx#6
CMGS merged 2 commits into
masterfrom
build/sandbox-operator-b86d04f

Conversation

@CMGS

@CMGS CMGS commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Why

sandbox-operator #5 typed sandboxd.ClaimResult.Deadline as time.Time and added an optional deadline to InventoryEntry (the aggregated apiserver stamps it as the sandbox.cocoonstack.io/deadline annotation on synthesized reads); against it this repo no longer built (provider/create.go:121: cannot use res.Deadline (time.Time) as string). sandbox-operator #6 then gave sandboxd.Client an Info (GET /v1/info) to pair with its existing Sandboxes (GET /v1/sandboxes), which removes the last reason for this repo's own sandboxdx client.

Change

  • go get github.com/cocoonstack/sandbox-operator@c9d9fda + go mod tidyv0.1.2-0.20260817100949-c9d9fdad7acc.
  • Claim.Deadline takes res.Deadline directly; parseDeadline is gone.
  • provider.Lister is Sandboxes(ctx) ([]sandboxd.SandboxSummary, error) and inventory.InfoClient is Info(ctx) (*sandboxd.NodeInfo, error) — both satisfied by *sandboxd.Client, so main.go wires the one pooled client everywhere. provider.ListedSandbox and the sandboxdx package (private list + /v1/info decoders) are deleted; the NodeInfo.Pools → PoolCapacity mapping lives in inventory.NodeInfoSource.
  • LiveSource publishes each row's deadline on its InventoryEntry, so kubectl get sandboxes carries the granted lease end once this node republishes.
  • docs/architecture.md: two packages, nothing on the sandboxd wire reimplemented here.

Testing

  • go build ./... (workspace and GOWORK=off), go vet ./..., go test ./... green; make lint linux + darwin 0 issues; asl ./... clean.
  • TestLiveSandboxes asserts the entry carries the row deadline (and none when the row has none); TestNodeInfoSource pins the NodeInfo → PoolCapacity flattening that moved out of sandboxdx.

CMGS added 2 commits August 17, 2026 17:17
ClaimResult.Deadline is a time.Time upstream now, so the string parse goes;
ListedSandbox decodes the index row's deadline as a time too, and the
published InventoryEntry carries it so the aggregated read path can stamp
the deadline annotation.
The operator's sandboxd.Client now covers GET /v1/info (Info) as well as
GET /v1/sandboxes (Sandboxes), so the provider's Lister and the inventory
InfoClient run on it directly; ListedSandbox and the private /v1/info
decoder had no reason left to exist.
@CMGS CMGS changed the title build: bump sandbox-operator to b86d04f and carry the lease deadline build: bump sandbox-operator to c9d9fda, carry the lease deadline, retire sandboxdx Aug 17, 2026
@CMGS
CMGS merged commit a096510 into master Aug 17, 2026
2 checks passed
@CMGS
CMGS deleted the build/sandbox-operator-b86d04f branch August 17, 2026 10:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant