api: autoPause default is declared in the spec and in a Go constant with no test keeping them in sync
Maintainer antworten meist innerhalb von 2 Tagen
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 84/100
- Issue-Typ
- Feature
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- go, openapi
- Bereich
- backend-api-design, testing
Rechercherichtung
Beginne mit packages/api/internal/api/spec_test.go und den bestehenden Vertragstests, die im Issue genannt werden. Lies die Schemas NewSandbox und NewSandboxV2 in spec/openapi.yml und suche dann nach sandboxtypes.AutoPauseDefault und seiner Verwendung in sandbox_create.go. Fertig ist die Aufgabe, wenn ein Test fehlschlägt, falls einer der Spec-Standardwerte von der Go-Konstante abweicht, und besteht, wenn sie übereinstimmen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
The default timeout action for a sandbox (autoPause when omitted) is declared in two places in this repo with no test keeping them in sync:
- OpenAPI spec —
spec/openapi.yml,NewSandboxandNewSandboxV2both declareautoPause: { type: boolean, default: false }. This is documentation only: the generated Go type is*boolwithomitempty(api.gen.go), so the spec default is never applied at decode time. - Go constant —
sandboxtypes.AutoPauseDefault = false, which is whatsandbox_create.goactually applies viaDerefOrDefault(body.AutoPause, sandbox.AutoPauseDefault)when the request omitsautoPause.
The spec value is the one the SDKs read and document as the default (see e2b-dev/E2B #2057 — both SDKs hardcode "currently kill" against this). If the Go constant ever changes without the spec (or vice versa), the published contract silently lies about what an omitted autoPause does, and the SDKs' documented/validated default drifts from reality — with no signal.
Proposal
Add a contract test (mirroring the existing TestSpecSecuritySchemeHeaderNames / TestTemplateBuildMinimumFreeDiskContract pattern in packages/api/internal/api/spec_test.go) that asserts the spec's declared autoPause default on NewSandbox and NewSandboxV2 equals sandboxtypes.AutoPauseDefault. Makes the spec the single documented source of the default and fails CI on drift.
This is the infra-side half of the drift concern raised in e2b-dev/E2B #2057 (the SDK-side half — single-sourcing the SDK's local assumption — is handled there).
- Vorherrschende Sprache
- Go
- Sterne
- 1.8k
- Forks
- 503
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus e2b-dev/runtime
-
orchestrator: NFS-cache "cache path is not set" WARN logged on every build/launch instead of onceEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 2 Tagen
-
client-proxy: WARN "invalid host" spam from unroutable bare-IP Host requests (external probes)Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 2 Tagen
-
[Bug]: flock() on a mounted volume hangs forever (mount is missing `nolock`)Evtl. vergeben @AdaAibaby hat das vor 56 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 2 Tagen
-
sandbox cache: StartRemoving state transition not broadcast, all allocations see stale Running stateEvtl. wieder frei Ein Pull Request dazu wurde ohne Merge geschlossen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in e2b-dev/runtime
Ähnliche Issues
-
[BUG] serviceenvupdater filter does not update KUBERNETES_SERVICE_HOST/PORT in init containersEvtl. vergeben @RaphaelFakhri hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
openyurtio/openyurt#2845 ·
Maintainer antworten meist innerhalb von 7 Tagen
-
enhancement good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
-
fix(scan): validate and normalize output format in validate-contractEvtl. vergeben @WKr1shna hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100