
Félix MalfaitandGitHub
6a709d9c50
feat(serverless): add basic sandbox isolation and flexible driver options (#17176)
## Overview
- Add a DISABLED serverless driver to explicitly turn off execution
- Clarify self-hosting docs with driver options and recommended usage
- Keep integration coverage for serverless function execution (default +
external package example)
## Notes
- Local driver remains the default for development usage; Lambda or
Disabled recommended for production deployments
- No functional changes to Lambda execution
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Introduces flexible serverless execution modes and safer local
execution.
>
> - **New driver:** `DISABLED` serverless driver with wiring in
`serverless.interface`, factory, module provider, and GraphQL exception
mapping; new exception code `SERVERLESS_FUNCTION_DISABLED`.
> - **Local driver hardening:** Strip `NODE_OPTIONS` when spawning child
processes; cleanup promise signature; better log capture.
> - **Dependency build reliability:** Use `execFile` with bundled Yarn
(`.yarn/releases/yarn-4.9.2.cjs`), strip `NODE_OPTIONS`, improved error
messages, and parallel cleanup excluding `node_modules`.
> - **Docs:** Add serverless section detailing `SERVERLESS_TYPE` options
(LOCAL, LAMBDA, DISABLED), security notice, and recommended configs.
> - **Config/env:** Default
`IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS` set to `true`
(examples/tests default `false`); sample envs updated.
> - **Tests:** Add integration tests and GraphQL helpers for creating,
updating, publishing, executing, and deleting serverless functions,
including external package usage and error paths.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
1a2958cc19. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2026-01-16 15:54:44 +01:00
..
2025-11-27 13:43:34 +01:00
2025-12-30 09:08:43 +00:00
2025-12-08 10:42:46 +01:00
2026-01-08 15:45:12 +00:00
2025-10-29 19:08:44 +01:00
2026-01-16 09:19:28 +00:00
2026-01-08 15:45:12 +00:00
2026-01-08 15:45:12 +00:00
2025-12-30 09:08:43 +00:00
2026-01-14 12:29:12 +00:00
2026-01-08 15:45:12 +00:00
2025-12-28 15:42:18 +01:00
2025-11-18 15:40:42 +00:00
2026-01-14 12:29:12 +00:00
2025-12-11 00:22:48 +01:00
2025-12-30 09:08:43 +00:00
2025-12-11 21:47:38 +01:00
2025-11-10 12:17:38 +01:00
2025-12-18 08:03:13 +01:00
2025-12-16 14:44:27 +01:00
2025-11-13 15:00:02 +01:00
2025-10-21 16:02:50 +02:00
2025-12-30 09:08:43 +00:00
2026-01-08 15:45:12 +00:00
2026-01-12 18:06:13 +00:00
2025-12-24 15:30:28 +01:00
2026-01-14 14:20:45 +00:00
2026-01-08 15:45:12 +00:00
2025-12-30 09:08:43 +00:00
2025-11-10 12:17:38 +01:00
2025-12-27 07:09:44 +01:00
2025-10-21 16:53:48 +02:00
2026-01-08 15:45:12 +00:00
2026-01-13 16:38:18 +01:00
2025-12-19 18:20:12 +01:00
2025-12-08 10:42:46 +01:00
2025-12-15 17:44:23 +01:00
2025-11-10 16:13:12 +01:00
2025-12-08 10:42:46 +01:00
2025-10-02 16:07:34 +00:00
2026-01-06 18:51:54 +01:00
2025-12-11 00:22:48 +01:00
2026-01-06 18:51:54 +01:00
2025-11-10 16:13:12 +01:00
2026-01-13 08:18:07 +00:00
2026-01-08 15:45:12 +00:00
2026-01-08 15:45:12 +00:00
2026-01-05 11:13:06 +01:00
2025-12-29 13:55:20 +01:00
2025-12-30 09:08:43 +00:00
2025-12-18 15:22:17 +01:00
2025-12-30 09:08:43 +00:00
2026-01-16 15:54:44 +01:00
2025-10-02 18:36:52 +02:00
2026-01-08 15:45:12 +00:00
2025-12-28 15:42:18 +01:00
2025-12-30 09:08:43 +00:00
2026-01-05 11:13:06 +01:00
2025-12-30 21:36:15 +01:00
2026-01-08 15:45:12 +00:00
2026-01-16 15:54:44 +01:00
2025-12-30 09:08:43 +00:00
2025-12-30 09:08:43 +00:00
2026-01-08 15:45:12 +00:00
2026-01-08 15:45:12 +00:00
2026-01-14 17:35:05 +00:00
2026-01-14 14:15:15 +00:00
2025-12-30 09:08:43 +00:00
2026-01-06 18:51:54 +01:00