Hosted deployment: warm pool of fresh sandbox clones

Aperta
#337 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
12/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
docker, typescript

Direzione di ricerca

This is a later-phase design issue that depends on #329 and on start-up measurements from #317, so neither the pool's prerequisites nor its go/no-go condition exist yet. Before anything else, read the Sandbox-Launcher code path that restores the golden snapshot and starts dockerd, and check whether #329 has landed. Done would mean the four test cases T01-T04 pass against a pool that is disabled by default, with the measured start-up time justifying the feature.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area: runner post-mvp type: feature

Part of ##316. Later.

Problem

Restoring the golden snapshot and starting dockerd adds seconds to every job.

Design

A pool of idle, freshly cloned VMs where each VM serves exactly one job (a warm VM is never reused). Pool size bounds, an idle timeout, and replacement after use. Only worthwhile if the measured start-up time from ##317 justifies it.

Scope

Pool in the Sandbox-Launcher, configuration, tests, docs.

Depends on

##329.

Test cases

ID kind level case expected
T01 security unit a warm VM after its job never reused
T02 edge unit pool size bounds never above the maximum; refilled to the minimum
T03 edge unit idle timeout idle VMs are stopped
T04 regression unit pool disabled behavior identical to ##329
Lingua principale
TypeScript
Stelle
0
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ExpidetGames/code-reviewer

Tutte le issue di ExpidetGames/code-reviewer

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.