Skip to content

Releases: cocoonstack/vk-cocoon

v0.3.3

Choose a tag to compare

@CMGS CMGS released this 11 Jul 15:03

Changelog

  • 862c5be fix(create): materialize OCI-ref base images before clone (#30)
  • 9e49bb2 fix(release): publish unversioned archive alias so latest/download resolves
  • febfee9 fix: /code audit — copy-on-write in handleVMGone, dedup, comment/label tidy
  • 03957ad fix: /code re-audit — hugepages resource key, drop dead RunOptions.Force, omit interface-method godoc
  • 9081d38 refactor: postfix unexported data types below their exported type block

v0.3.2

Choose a tag to compare

@CMGS CMGS released this 04 Jul 10:40

Changelog

  • 1acc68a chore(deps): bump grpc, spdystream, otel/sdk past advisories
  • 72df8fc fix(provider): pass pod-derived role to ShouldSnapshotVM
  • b1f6f8b refactor: style pass (var-block layout, comment trims, parser dedup)

v0.3.1

Choose a tag to compare

@CMGS CMGS released this 02 Jul 14:56

Changelog

  • ccb2a91 build: bump cocoon-common (GetManifest digest fix)
  • 69f053b build: pin cocoon-common to the merged main commit
  • 11dfc0e chore(deps): bump cocoon-common to v0.2.2 and epoch to v0.2.4
  • fed6ab5 chore: bump cocoon-common to v0.2.3
  • 7c4a966 chore: standardize LICENSE copyright holder to cocoonstack contributors
  • 53b17a7 docs(postclone): tighten markReadyAfterIP and trackPod comments
  • 293ae37 docs(restore): tighten comments (per /simplify review)
  • 9a82650 feat(restore): restore VM from :hibernate on cross-node create
  • feac726 feat(snapshots): add a standard-OCI Registry backend (go-containerregistry)
  • bb016c7 feat: drop the epoch backend, go OCI-only
  • 594e771 feat: select the registry backend via OCI_REGISTRY (OCI or epoch)
  • a8b18ea fix(create): guard pod.Status writes against the probe goroutine
  • 0f2e698 fix(create): singleflight fork-base snapshot creation (#29)
  • 0272bb3 fix(packaging): OCI-only vk-cocoon.env example
  • fe211cc fix(packaging): comment out GOOGLE_APPLICATION_CREDENTIALS by default
  • 3d0126f fix(postclone): gate markReadyAfterIP through the wake marker
  • d56f795 fix(postclone): raise the fresh-DHCP-lease budget 15s -> 45s (#28)
  • 0aff94e fix(postclone): re-assert lifecycle intent in trackPod so a stale UpdatePod can't strand a ready VM at creating
  • 6ad2c9d fix(restore): treat every hibernate restore as a wake + clean import on clone failure
  • ba3d758 postclone: gate cloned-VM Ready on the DHCP lease (fixes ready-without-IP)
  • 027f474 refactor(metrics)!: unify under cocoon_vk_* with standard result vocab
  • 66aa6cb refactor(provider): drop the epoch /dl/ endpoint; boot cloud images from local import
  • 5d17115 refactor(snapshots): abstract the registry client behind a Registry interface
  • 579058e refactor(snapshots): remove unused cloud-image pull helpers
  • 7309c6c refactor(vk-cocoon): code-style and simplify cleanup
  • 1f2f3d1 refactor: quality pass (/code + simplify + comment tightening)
  • 3ce7df1 refactor: use cocoon-common for the OCI registry and snapshot bridge

v0.3.0

Choose a tag to compare

@CMGS CMGS released this 25 May 10:39

Changelog

  • cbba20c chore(deps): bump cocoon-common to v0.2.1
  • eecccb0 chore(deps): bump epoch for FetchSnapshotConfig 1MB cap fix
  • 11c0ed4 chore(deps): bump epoch to 36ecd7a40af4
  • d1cfe27 chore(deps): bump epoch to v0.2.3
  • b1aeafc chore: align tooling, bump deps, and reorder public methods
  • 1da0c72 chore: code review sweep — trackPod ordering, log conventions, modern idioms (#16)
  • 37c2400 chore: drop dead SSH plumbing now that exec/logs go through cocoon-agent
  • 6d48854 chore: drop sudo wrapper on cocoon CLI invocations (#18) (#19)
  • c80c8aa clean up
  • 7dd2c7e feat(hibernate): CH+Windows drops NIC pre-snap, wake re-adds via --ni… (#13)
  • 5bb5018 feat(provider): publish lifecycle-state annotation triple (#8)
  • 87903e1 feat: K8s Event + metric coverage for hibernate/wake/post-clone error paths (#17)
  • 1d3c3cf feat: route kubectl exec through cocoon vm exec (vsock + agent)
  • 144105b fix(create): import epoch cloudimg under canonical /dl/ URL (#12)
  • d750283 fix(hibernate): clear VMID annotation before Save+Push (#15)
  • 84bb4ac fix(provider): classify run-mode image manifest before cocoon image pull (#5)
  • b6b989b fix(provider): push initial pod status after kubelet cache sync
  • ed3db29 fix(provider): skip VM-gone handler for hibernating pods (#9)
  • 0919765 fix(reconcile): index non-destroyed orphan VMs by name
  • c5400a0 fix(wake): defer Ready on CH+Windows dropNIC until DHCP lease lands (#22)
  • 8800dd3 fix: default OrphanPolicy to destroy + clarify alert wording (#20)
  • d26734c log: surface hibernate/wake errors in UpdatePod
  • 421b059 logs support
  • b5794c6 perf+fix: Windows clone prefault, drop stale local snapshots (#14)
  • 2aeba38 post-clone auto-exec via cocoon-agent vsock + Windows --on-demand drop (#6)
  • 197b138 refactor: drop dead resource fields from clone path
  • 30c6d87 style(log): drop double-pass err in Fatalf, route err-bearing Warnf via Errorf
  • f05e0b2 style(provider): trim NotifyPods comment, move pushInitialStatus below public methods
  • 8a677ba style(vm): trim Inspect godoc to match sibling Image() (#11)
  • 9a0f98b support from-dir clone

v0.2.9

Choose a tag to compare

@CMGS CMGS released this 24 Apr 07:57

Changelog

  • de2252d perf: exponential probe backoff and UFFD on-demand clone
  • 663c542 perf: parse clone/run JSON inline and skip follow-up inspect
  • b54b89b perf: reuse cached fork snapshot and invalidate on main recreate
  • d13f9e1 perf: skip status echo on no-op UpdatePod
  • a9cb04f style: gofumpt align struct field indentation

v0.2.8

Choose a tag to compare

@CMGS CMGS released this 24 Apr 00:03

Changelog

  • 99a5c48 address /code review: fix recheck Add/Wait race, add budget, unify pod lookup
  • 6813e85 address /simplify review: tighten not-found match, reuse applyRuntime, trim retries
  • e39e24c anchor deferred recheck to Provider lifecycle so Close drains it
  • 295413f chore: add reason comments to defer Close nolint directives
  • 07db0a1 chore: code style cleanup and ctx-aware retry sleep
  • 3cbe215 classify VM inspect errors: distinguish not-found from transient
  • 1bd0f54 consolidate registry wrapper and adopt cocoon-common httpx/k8s helpers
  • 2bd06a5 evictPod: delete K8s first with retry, keep state on API failure
  • 41ed210 feat: add image inspect/import and cross-node base image pull
  • b7baa04 feat: image mirror to epoch and cross-node base image pull
  • f8afe66 flatten single-entry const and var blocks
  • 67870a5 fork snapshot: refresh each time so sub-agents see current source state
  • 6f30d33 handleVMGone: retry transient inspect inline, then fall back to deferred recheck
  • 5f7e80a reconcile: adopt live VM by VMName when annotation patch had failed
  • 715252f refactor: delegate base image pull to cocoon --pull flag
  • 7775d0d remove image mirror to epoch
  • 1424d4f saveAndPushSnapshot: fix metric label on save failure, use error log level

v0.2.7

Choose a tag to compare

@CMGS CMGS released this 20 Apr 08:36

Changelog

  • c470368 feat(vk): support TCP port probe via annotation
  • 85f7be2 fix vm count
  • 3977e60 fix(vk): annotation patch retries without VM rollback
  • 93c33bd fix(vk): exponential backoff for event stream connection failures
  • 98f7fa5 fix(vk): gc stale lastRestart entries on event stream reconnect
  • 64892f4 fix(vk): guard evictPod against pod delete failure
  • eed7014 fix(vk): propagate ctx into probePort and fix method ordering
  • 88b59c8 fix(vk): retry annotation patch and rollback VM on persistent failure
  • 3797347 fix(vk): set PodFailed with reason on crash-driven evictions
  • 4465fb7 fix(vk): use pod key instead of VM name for post-restart inspect update
  • 95f492b refactor: add comments to const/var blocks, modernize with cmp.Or, pre-allocate slices
  • ab2a2ad upgrade to latest common

v0.2.6

Choose a tag to compare

@CMGS CMGS released this 19 Apr 06:09

Changelog

  • cb210e4 feat: emit post-clone network hint when manual setup is needed
  • 54feb70 feat: parse NetworkInfo (IP/Prefix/Gateway) from cocoon vm inspect
  • ee1e5ba feat: plumb NoDirectIO through Run/Clone/Wake paths
  • 2b558a9 fix: add EPOCH_CA_CERT support for registry TLS verification
  • 56740df fix: patch hibernate annotations to API, remove VM before evict
  • 810107b fix: retry SAC net enumeration for Windows NIC discovery latency
  • c3e4392 fix: retry SAC set+verify when Windows silently drops IP assignment
  • 394030a fix: run SAC IP setup asynchronously to avoid blocking CreatePod
  • 714d467 fix: skip Linux post-clone hint for Windows VMs
  • b0e361a fix: wake probe restart, eviction error handling, hibernate patch reliability, wake metrics
  • 2b628ab refactor: replace SAC Executor with Dialer/Session for persistent connections
  • bfe0977 refactor: restructure guest package, add SAC executor for Windows static IP
  • ab22f49 refactor: use errors.As for net.Error, replace select/sleep with SleepCtx
  • aef75c6 upgrade to latest common

v0.2.5

Choose a tag to compare

@CMGS CMGS released this 17 Apr 09:33

Changelog

  • 852ca13 feat: add operation timing histograms
  • ce442ab feat: add per-VM Prometheus metrics via provider.Provider interface
  • 26b1ce5 feat: detect real host resources for node capacity and allocatable
  • 2400c18 feat: implement /stats/summary and /metrics/resource with real VM data
  • ec36717 fix: add pod-level /metrics/resource, refresh PID on VM restart, fix CH COW path
  • c448f72 fix: include cow.raw in CH COW size lookup for OCI run mode
  • c4d2819 fix: propagate Backend through hibernate wake clone path
  • 7535b37 fix: skip NodeResources test when cocoon root dir is absent

v0.2.4

Choose a tag to compare

@CMGS CMGS released this 17 Apr 02:53

Changelog

  • d0eaf65 feat: plumb Backend through RunOptions/CloneOptions, validate snapshot Hypervisor
  • 46944cf fix: drop --cpu/--memory for firecracker vm clone