Saltar a contenido

Variables de entorno

Rayito se configura con argumentos explícitos; estas variables son atajos para no repetirlos. Ninguna enciende una de las funciones opcionales (secretos, índice de metadatos, OpenTelemetry): esas sólo se activan con una opción del SDK.

La excepción: RAYITO_TRANSFER_BUCKET

Con esta variable exportada, files.write / files.read de 8 MiB o más y las URLs firmadas pasan por S3, que cobra sus peticiones y el almacenamiento temporal del prefijo de transferencias (Ficheros y S3, Precios).

SDK (Python y TypeScript)

Variable Qué hace Equivale a
RAYITO_TEMPLATE nombre o ARN de la imagen por defecto de create() template= / template
RAYITO_ACCESS_TOKEN access token para connect() y las formas de clase (set_timeout, get_metrics_history, update_network) y para la CLI access_token= / accessToken
RAYITO_TRANSFER_BUCKET bucket de transferencias (URLs y ficheros grandes por S3); la única vía en el shim de E2B transfer=S3Staging(bucket) / transfer: { bucket }
RAYITO_TRANSFER_PREFIX prefijo dentro del bucket (rayito-transfer por defecto) S3Staging(prefix=)
RAYITO_TRANSFER_REGION región del bucket si no es la del sandbox S3Staging(region=)

RAYITO_ACCESS_TOKEN lo leen también los create()

Si la exportas, cada create() de ese proceso reutiliza el mismo secreto, así que una fuga abre todos sus sandboxes, no uno. Por defecto create() genera 32 bytes aleatorios por sandbox. Úsala para connect() o la CLI desde otro proceso, no en el proceso que crea sandboxes. Un token propio (aquí, en access_token=/accessToken o en --token-file) tiene que ser base64url de al menos 16 bytes aleatorios (ACCESS_TOKEN_MIN_BYTES); uno más corto es InvalidArgumentException / InvalidArgumentError, sin repetir el token en el mensaje.

CLI

Variable Qué hace
RAYITO_BUCKET bucket de artefactos de imagen para rayito image publish y la comprobación bucket de rayito doctor (equivale a --bucket)
RAYITO_ACCESS_TOKEN token de sandbox connect, exec y metrics si no pasas --token-file (gana el fichero); sandbox create lo reutiliza como token del sandbox nuevo en vez de generar uno
AWS_REGION región por defecto de todos los comandos (equivale a --region); la CLI la lee aunque boto3 no lo haga

rayito image publish no lee estas dos, las imprime al terminar un build lanzable, para que un script las recoja de la última línea:

Línea impresa Qué es
RAYITO_TEMPLATE=<ARN> ARN de la imagen baseline publicada
RAYITO_TEMPLATE_<SIZE>=<ARN> (p. ej. RAYITO_TEMPLATE_4GB) con --sizes, ARN de cada imagen de tamaño adicional; el SDK no la lee: size= resuelve la imagen por nombre (Tamaños)

Servidor MCP

Variable Por defecto Qué hace
RAYITO_TEMPLATE — imagen del sandbox (obligatoria en la primera herramienta que lo usa)
RAYITO_TEMPLATE_VERSION la última activa versión de la imagen
RAYITO_EXECUTION_ROLE_ARN — execution role del sandbox; con rol, logs en CloudWatch
RAYITO_MCP_TIMEOUT_SECONDS 3600 vida máxima del sandbox (60–28 800)
RAYITO_MCP_IDLE_SECONDS 300 segundos sin tráfico antes de suspender; 0 lo desactiva
RAYITO_MCP_LOG_LEVEL INFO nivel del log (por stderr)

Detalle: Servidor MCP.

Imagen

Variable Dónde Qué hace
RAYITO_ALLOW_ROOT=1 en la imagen (rayito image publish --env RAYITO_ALLOW_ROOT=1), nunca en el SDK permite user="root" en comandos y terminales; sólo el valor exacto 1 cuenta. Por defecto todo corre como uid 1000
RAYITO_ALLOWED_MOUNT_BUCKETS en la imagen (rayito image publish --env RAYITO_ALLOWED_MOUNT_BUCKETS=b1,b2), nunca en el SDK lista separada por comas de los buckets que mounts= puede montar; ausente o vacía, ninguno (Montajes S3)
RAYD_LOG en la imagen (rayito image publish --env RAYD_LOG=debug) filtro de los logs de rayd (sintaxis de tracing, por defecto info); sólo se ven con logging="cloudwatch"
AWS_REGION la pone la plataforma en el MicroVM región que rayd usa en sus propias llamadas a AWS (S3, CloudWatch)

rayd no pasa ninguna de estas variables, ni ninguna AWS_*, a los procesos que lanza: un comando sólo ve las envs que le das.

AWS

Las lee el SDK de AWS que Rayito usa por debajo (boto3 en Python, AWS SDK v3 en TypeScript):

Variable Qué hace
AWS_PROFILE perfil de ~/.aws/config (incluidos los de SSO)
AWS_DEFAULT_REGION alternativa si falta AWS_REGION, en los dos SDK
AWS_REGION región de los sandboxes en Python, TypeScript y la CLI; region= / region la sustituye
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN credenciales explícitas

Tests de extremo a extremo

Sólo para quien desarrolla Rayito: RAYITO_E2E=1 y RAYITO_TEMPLATE activan las suites contra AWS real (CONTRIBUTING.md).