feat(stack): rewrite managed local stack runtime - #6440
Draft
jgoux wants to merge 160 commits into
Draft
Conversation
…-rewrite # Conflicts: # pnpm-lock.yaml
…-rewrite # Conflicts: # apps/cli/README.md # apps/cli/package.json # apps/cli/src/next/cli/root.ts # apps/cli/src/next/commands/branches/switch/switch.handler.ts # apps/cli/src/next/commands/branches/switch/switch.integration.test.ts # apps/cli/src/next/commands/functions/dev/dev.command.ts # apps/cli/src/next/commands/functions/dev/dev.e2e.test.ts # apps/cli/src/next/commands/functions/dev/dev.handler.ts # apps/cli/src/next/commands/functions/dev/functions-dev-runtime.ts # apps/cli/src/next/commands/functions/download/download.integration.test.ts # apps/cli/src/next/commands/functions/list/list.integration.test.ts # apps/cli/src/next/commands/functions/new/new.integration.test.ts # apps/cli/src/next/commands/link/link.handler.ts # apps/cli/src/next/commands/list/list.handler.ts # apps/cli/src/next/commands/login/login.handler.ts # apps/cli/src/next/commands/logs/logs.command.ts # apps/cli/src/next/commands/logs/logs.handler.ts # apps/cli/src/next/commands/logs/logs.integration.test.ts # apps/cli/src/next/commands/services/services.handler.ts # apps/cli/src/next/commands/services/services.integration.test.ts # apps/cli/src/next/commands/start/start.command.ts # apps/cli/src/next/commands/start/start.command.unit.test.ts # apps/cli/src/next/commands/start/start.handler.ts # apps/cli/src/next/commands/start/start.integration.test.ts # apps/cli/src/next/commands/status/status.command.ts # apps/cli/src/next/commands/status/status.handler.ts # apps/cli/src/next/commands/status/status.integration.test.ts # apps/cli/src/next/commands/stop/stop.command.ts # apps/cli/src/next/commands/stop/stop.handler.ts # apps/cli/src/next/commands/stop/stop.integration.test.ts # apps/cli/src/next/commands/update/update.command.ts # apps/cli/src/next/commands/update/update.handler.ts # apps/cli/src/next/commands/update/update.integration.test.ts # apps/cli/src/next/config/project-link-refresh.ts # apps/cli/src/next/config/project-link-remote.layer.ts # apps/cli/src/next/config/stack-config.ts # apps/cli/src/next/config/stack-config.unit.test.ts # apps/cli/src/next/main.ts # apps/cli/src/shared/cli/run.ts # apps/cli/src/shared/runtime/file-watcher.service.ts # apps/cli/tests/helpers/mocks.ts # pnpm-lock.yaml # pnpm-workspace.yaml
…-rewrite # Conflicts: # .gitignore
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Rewrites
@supabase/stackaround one managed-only runtime shared by strict native and container execution modes. The package owns durable configuration and secrets, sticky ports, artifact preparation, lifecycle arbitration, per-service eager or lazy activation, service migrations, ingress, retained and live logs, and exact resource cleanup.A stopped stack has no resident supervisor or runtime resources: status and retained logs come from durable state, while a later start creates a fresh owner and performs clean recovery. PostgreSQL 17 is the only eager service by default; every other service starts lazily when first reached through stack ingress. Users can opt services into eager activation or prepare artifacts without activating them. Docker-compatible engines, including Podman, share the same container path.
Edge Functions are served through the stack-owned Edge Runtime. The retained legacy Functions development command uses this package surface; broader integration with the legacy CLI under
experimental startis intentionally deferred to follow-up work. The deletednextCLI was only a disposable proving ground and is not part of this PR.Obsolete process-compose integration and superseded runtime helpers are removed.
Supersedes #6385