Source : src/cwsandbox/_defaults.py:261
Valeurs de configuration par défaut immuables pour la création de sandbox.
Tous les champs disposent de valeurs par défaut pertinentes. Ne remplacez que ce qui est nécessaire.
Il existe deux notions distinctes de délai d’expiration :
- request_timeout_seconds : durée d’attente des réponses de l’API (côté client)
- max_lifetime_seconds : durée d’exécution de la sandbox avant son arrêt automatique (côté serveur)
Si cette valeur n’est pas définie, c’est le backend qui détermine la durée de vie par défaut.
Les tags permettent de filtrer et d’organiser les bacs à sable. Ils sont propagés
au backend et peuvent servir à interroger les bacs à sable par tag.
Attributs
container_image (str) : image Docker du conteneur de la sandbox. Par défaut : DEFAULT_CONTAINER_IMAGE.
command (str) : commande de point d’entrée à exécuter. Par défaut : DEFAULT_COMMAND.
args (tuple[str, ...]) : arguments transmis à la commande. Par défaut : DEFAULT_ARGS.
base_url (str) : URL de l’API endpoint CWSandbox. Par défaut : DEFAULT_BASE_URL.
auth (AuthConfig | None) : choix du mode d’authentification. Accepte un AuthStrategy, des
AuthHeaders résolus ou un AuthProvider. None conserve un
remplacement hérité global au processus s’il est installé, et utilise sinon
AuthStrategy.COREWEAVE_API_KEY. Par défaut : field(default=None, repr=False).
request_timeout_seconds (float) : délai d’expiration HTTP côté client, en secondes, pour la plupart
des RPC. Les RPC Get d’interrogation utilisent à la place poll_rpc_timeout_seconds. Par défaut : DEFAULT_REQUEST_TIMEOUT_SECONDS.
poll_retry_budget_seconds (float) : budget en temps réel par série de nouvelles tentatives (un cycle
jusqu’à un statut stable). Le budget est réinitialisé à chaque réponse réussie :
ainsi, une sandbox de longue durée qui rencontre une erreur transitoire, se rétablit, puis
en rencontre une autre bien plus tard, dispose à chaque fois d’un nouveau budget. Les codes
transitoires donnant lieu à une nouvelle tentative sont UNAVAILABLE, DEADLINE_EXCEEDED et
RESOURCE_EXHAUSTED. Définissez la valeur sur 0.0 pour désactiver complètement les nouvelles tentatives. Par défaut : DEFAULT_POLL_RETRY_BUDGET_SECONDS.
poll_rpc_timeout_seconds (float) : délai d’expiration par appel pour les RPC Get d’interrogation. Distinct
de request_timeout_seconds afin qu’une interrogation bloquée échoue
rapidement au lieu d’attendre l’expiration du délai global de la requête. Par défaut : DEFAULT_POLL_RPC_TIMEOUT_SECONDS.
max_lifetime_seconds (float | None) : durée de vie maximale de la sandbox côté serveur, en secondes.
None laisse le backend définir la valeur par défaut. Par défaut : DEFAULT_MAX_LIFETIME_SECONDS.
temp_dir (str) : chemin du répertoire temporaire dans la sandbox. Par défaut : DEFAULT_TEMP_DIR.
tags (tuple[str, ...]) : étiquettes permettant de filtrer et d’organiser les bacs à sable. Par défaut : field(default_factory=tuple).
runner_ids (tuple[str, ...] | None) : limite l’exécution à certains ID d’exécuteurs (CKS). Transmettez une liste vide pour
effacer explicitement toute valeur par défaut ; transmettez None (valeur par défaut) pour hériter
de la valeur par défaut configurée, le cas échéant. Incompatible avec le placement sans serveur.
placement_mode (PlacementMode | str | None) : PlacementMode (serverless / cks) ou chaîne.
placement_spillover (PlacementSpillover | str) : politique PlacementSpillover régissant une nouvelle tentative unique
de création dans l’autre mode lorsque le mode principal échoue pour un motif
de capacité ou de placement autorisant le débordement. Valeur par défaut : STRICT (aucun débordement). Les bacs à sable
issus d’un modèle exigent STRICT. Par défaut : PlacementSpillover.STRICT.
resources (ResourceOptions | dict[str, Any] | None) : configuration des ressources. Accepte ResourceOptions pour définir séparément
demandes de ressources et limites, ou un dict plat pour une QoS Guaranteed rétrocompatible.
network (NetworkOptions | None) : options réseau à indicateurs de refus et autorisations facultatives de noms d’hôte
à la création via NetworkOptions.
services (tuple[Service, ...] | None) : ports de service typés (Service) pour PUBLIC/PRIVATE/CUSTOM.
volumes (tuple[ScratchVolumeOptions | RegisteredVolumeOptions, ...] | None) : volumes temporaires ou enregistrés (ScratchVolumeOptions ou
RegisteredVolumeOptions).
runtime_class (str | None) : épinglage facultatif de la classe de runtime (par exemple "gvisor").
security_context (SecurityContext | dict[str, Any] | None) : privilèges dans l’invité pour le mode à conteneur unique.
Non appliqué lorsque containers= ou defaults.containers est utilisé.
working_dir (str | None) : répertoire de travail pour le mode à conteneur unique.
Non appliqué lorsqu’une liste de conteneurs est utilisée.
object_storage_access (ObjectStorageAccess | dict[str, Any] | None) : identifiants d’authentification temporaires pour le stockage objet.
file_system_snapshot (FileSystemSnapshotOptions | dict[str, Any] | None) : raccourci pour définir les options FSS d’un montage unique via
FileSystemSnapshotOptions. Valeurs par défaut de montage partageables (mount_path,
size) ; une valeur run() explicite les remplace intégralement. Privilégiez
volumes= pour les configurations à plusieurs volumes.
containers (tuple[Container, ...] | None) : spécification multiconteneur facultative (Container). Mutuellement
exclusive avec les champs mono-conteneur de Sandbox.run().
Lorsque cette liste est utilisée, les champs secrets, environment_variables,
security_context et working_dir de ces valeurs par défaut
ne sont pas appliqués ; définissez-les sur chaque Container.
secrets (tuple[Secret, ...] | None) : secrets pour le mode mono-conteneur. Non appliqués lorsque
containers= ou defaults.containers est utilisé.
environment_variables (dict[str, str]) : variables d’environnement pour le mode
mono-conteneur. Non appliquées lorsqu’une liste de conteneurs est utilisée. Par défaut : field(default_factory=dict).
annotations (dict[str, str]) : annotations de pod Kubernetes (paires clé-valeur de type chaîne).
Fusionnées avec les annotations propres à chaque sandbox ; les valeurs explicites remplacent les valeurs par défaut.
À réserver aux métadonnées non sensibles. Par défaut : field(default_factory=dict).
data_plane_mode (DataPlaneMode | str) : politique de transport pour l’exécution, les journaux et les opérations sur les fichiers.
auto (par défaut) privilégie le mTLS direct et se rabat sur la passerelle en cas d’échec ;
gateway désactive l’accès direct ; direct l’impose. Par défaut : DataPlaneMode.AUTO.
Méthodes
Combine les tags par défaut avec des tags supplémentaires.
Les tags des deux sources sont inclus, dans l’ordre suivant : d’abord les valeurs par défaut,
puis les tags supplémentaires, ajoutés à la suite.
merge_environment_variables
Combine les variables d’environnement par défaut avec des variables supplémentaires.
Les variables d’environnement supplémentaires remplacent les valeurs par défaut qui ont la même clé.
merge_annotations
Combine les annotations par défaut avec des annotations supplémentaires.
Les annotations supplémentaires remplacent les valeurs par défaut ayant la même clé.
with_overrides
Crée de nouvelles valeurs par défaut dont certaines sont remplacées.
from_dict
Construit SandboxDefaults à partir d’un mappage, en convertissant les champs imbriqués.
Accepte des dictionnaires standard ou des objets OmegaConf DictConfig. Les clés
inconnues sont ignorées sans avertissement, ce qui permet aux appelants de transmettre une section de configuration
pouvant contenir des champs supplémentaires.
Conversions appliquées :
network dict -> NetworkOptions
secrets liste de dicts -> tuple de Secret
services liste de dicts -> tuple de Service
volumes liste de dicts -> tuple d’options de volumes temporaires/enregistrés
containers liste de dicts -> tuple de Container
security_context dict -> SecurityContext
object_storage_access dict -> ObjectStorageAccess
- listes
args, tags, runner_ids, services, volumes,
containers -> tuples
resources, environment_variables -> dict standard
Dernière modification le 15 octobre 2026