Vue d'ensemble
Ce qui s'exécute dans une sandbox, et comment chaque projet reste isolé des autres.
Une sandbox est l'environnement isolé qui fait tourner un projet. Elle est créée à la première ouverture du projet et contient tout ce dont celui-ci a besoin pour s'exécuter.
Ce qui s'exécute à l'intérieur
| Composant | Rôle |
|---|---|
| Votre application | Démarrée depuis le script dev déclaré par votre projet |
| Éditeur de code | Éditeur complet sur les fichiers que le canvas affiche |
| Terminal | Accès shell dans l'environnement |
| Point d'accès d'aperçu | Une URL HTTPS privée servant votre application |
Isolation
Chaque sandbox s'exécute dans son propre environnement, avec un noyau dédié et son propre espace de noms réseau. Les projets ne voient ni les processus, ni les fichiers, ni le trafic réseau des autres, et une sandbox ne peut pas atteindre les services internes de la plateforme — uniquement l'internet public et les points d'accès que votre application appelle.
Les fichiers de votre projet résident sur un stockage réseau persistant rattaché à l'environnement. Ils ne sont pas stockés sur la machine qui exécute la sandbox à un instant donné, ce qui permet de l'arrêter et de la relancer ailleurs sans rien perdre.
Déclarer ce qui doit tourner
Un projet décrit ses services dans un fichier evrygo.json à sa racine :
{
"services": [
{ "name": "web", "command": "npm run dev", "port": 3000, "primary": true }
]
}commands'exécute depuis la racine du projet.portest le port sur lequel votre application écoute. Il est associé automatiquement à votre URL d'aperçu.primarydésigne le service que le canvas prévisualise lorsque plusieurs sont déclarés.
Les modifications de ce fichier sont prises en compte sans redémarrer la sandbox.
Limites de ressources
Les ressources sont allouées selon votre offre. Dans une sandbox, vous disposez d'une quantité fixe de mémoire, de vCPU et de disque ; dépasser le quota disque fait échouer les écritures plutôt que de perdre des données silencieusement. Consultez votre offre pour les valeurs exactes.