From 2110842cfb9aea7a3e7118d6d2b7a663ef595c6a Mon Sep 17 00:00:00 2001 From: Enjoy <17999674+enjoycgr@users.noreply.github.com> Date: Sat, 24 Oct 2026 16:31:01 +0900 Subject: [PATCH] feat(shared): read the filesystem-only-checkpoint fallback from FILESYSTEM_ONLY_CHECKPOINT Co-Authored-By: Claude Opus 5.5 --- docs/ARCHITECTURE.md | 3 ++- packages/shared/pkg/featureflags/flags.go | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 7746c9913d..6d2cae8954 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -1061,7 +1061,8 @@ sequenceDiagram - **Filesystem-only checkpoint**: `memory: false` on snapshot-template creation exports the rootfs and no memfile, resumes the same Firecracker process, and produces a template whose sandboxes cold-boot; the source keeps running. Routed by its own flag, - `filesystem-only-checkpoint`, independent of `in-place-checkpoint` (no memory is exported, so + `filesystem-only-checkpoint` (`FILESYSTEM_ONLY_CHECKPOINT` for a deployment without + LaunchDarkly), independent of `in-place-checkpoint` (no memory is exported, so the sync-WP tracking, the Firecracker release gate and the balloon gate play no part). The API refuses it before the sandbox leaves Running when the flag is off for the team (400, `snapshot_filesystem_only_disabled`) or when the sandbox's node runs an orchestrator diff --git a/packages/shared/pkg/featureflags/flags.go b/packages/shared/pkg/featureflags/flags.go index 7d3106e85b..f43a8b9d2c 100644 --- a/packages/shared/pkg/featureflags/flags.go +++ b/packages/shared/pkg/featureflags/flags.go @@ -262,8 +262,10 @@ var ( // sync-WP tracking, the Firecracker release and the balloon that gate the // memory in-place path play no part. Off (the default) refuses the // request before anything is touched; there is no memory fallback, since - // the caller asked for a template that cold-boots. - FilesystemOnlyCheckpointFlag = NewBoolFlag("filesystem-only-checkpoint", false) + // the caller asked for a template that cold-boots. The fallback reads + // FILESYSTEM_ONLY_CHECKPOINT so a deployment without LaunchDarkly can turn + // it on. + FilesystemOnlyCheckpointFlag = NewBoolFlag("filesystem-only-checkpoint", envBoolOr("FILESYSTEM_ONLY_CHECKPOINT", false)) // EnvdInitHeldRequestFlag makes a start whose envd is at or above // utils.MinEnvdVersionForHeldInit wait on one /init for its whole envd-wait budget