Skip to content

feat(stack): rewrite managed local stack runtime - #6440

Draft
jgoux wants to merge 160 commits into
developfrom
feat/stack-runtime-rewrite
Draft

feat(stack): rewrite managed local stack runtime#6440
jgoux wants to merge 160 commits into
developfrom
feat/stack-runtime-rewrite

Conversation

@jgoux

@jgoux jgoux commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Rewrites @supabase/stack around 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 start is intentionally deferred to follow-up work. The deleted next CLI 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

jgoux added 30 commits August 28, 2026 18:51
jgoux added 30 commits September 3, 2026 10:19
…-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
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