Variables y secretos
Define variables, referencia otros servicios y comparte configuración entre apps.
- Define una variable en Variables, en la app o en el canvas. Los valores se cifran y se aplican en el siguiente despliegue.
- Los servicios provisionados inyectan las suyas:
DATABASE_URLyDATABASE_HOST/PORT/USER/PASSWORD/NAME,REDIS_URL,CLICKHOUSE_DATABASE_URL, claves de almacenamiento, yRAILYARD_HOSTNAME,RAILYARD_URL,RAILYARD_PRIVATE_URL. - Referencia otro servicio con
${{api.RAILYARD_PRIVATE_URL}}— resuelto por entorno.RAILYARD_PRIVATE_URLeshttp://<name>.railyard.internal:<port>; siempre funciona entre apps en el mismo servidor, y entre apps en distintos servidores del equipo una vez que la red privada está activa. - La configuración compartida (Team → Shared config) está disponible como
${config.KEY}en cualquier app. - Las variables documentadas que lista la app (por ejemplo,
MAIN_DB_HOST,DB_USERNAME,PGHOST,BIND_ADDRESS,APP_URL) se completan automáticamente desde los servicios anteriores; los secretos propios de la app (SECRET_KEY_BASE,APP_KEY,JWT_SECRET…) se generan una sola vez. Las claves de terceros nunca se inventan.
Secretos como archivo
Algunos secretos tienen que ser un archivo, no una variable: un JSON de service account, un certificado de cliente. Agrégalos en Variables → File secrets con un nombre y el contenido (hasta 64 KB). Cada uno se guarda cifrado y se monta de solo lectura en el contenedor en /etc/railyard/secrets/<name>, con su ruta también expuesta como RAILYARD_SECRET_FILE_<NAME>, así que GOOGLE_APPLICATION_CREDENTIALS=${RAILYARD_SECRET_FILE_GCP_KEY_JSON} se resuelve sin pasos adicionales. Eliminar uno surte efecto en el siguiente despliegue.