Variables et secrets
Définissez des variables, référencez d'autres services et partagez la configuration entre applications.
- Définissez une variable sous Variables sur l’application ou sur le canvas. Les valeurs sont chiffrées et appliquées au prochain déploiement.
- Les services provisionnés injectent les leurs :
DATABASE_URLetDATABASE_HOST/PORT/USER/PASSWORD/NAME,REDIS_URL,CLICKHOUSE_DATABASE_URL, les clés de stockage, etRAILYARD_HOSTNAME,RAILYARD_URL,RAILYARD_PRIVATE_URL. - Référencez un autre service avec
${{api.RAILYARD_PRIVATE_URL}}, résolu par environnement.RAILYARD_PRIVATE_URLesthttp://<name>.railyard.internal:<port>; ça fonctionne toujours entre applications sur le même serveur, et entre applications sur différents serveurs de l’équipe une fois que le réseau privé est activé. - La configuration partagée (Team → Shared config) est accessible sous la forme
${config.KEY}dans n’importe quelle application. - Les variables documentées que l’application liste (par exemple
MAIN_DB_HOST,DB_USERNAME,PGHOST,BIND_ADDRESS,APP_URL) sont remplies automatiquement à partir des services ci-dessus; les secrets propres à l’application (SECRET_KEY_BASE,APP_KEY,JWT_SECRET…) sont générés une seule fois. Les clés tierces ne sont jamais inventées.
Secrets en fichier
Certains secrets doivent être un fichier, pas une variable : un JSON de compte de service, un certificat client. Ajoutez-les sous Variables → File secrets avec un nom et le contenu (jusqu’à 64 Ko). Chacun est stocké chiffré et monté en lecture seule dans le conteneur à /etc/railyard/secrets/<name>, avec son chemin aussi exposé comme RAILYARD_SECRET_FILE_<NAME>, donc GOOGLE_APPLICATION_CREDENTIALS=${RAILYARD_SECRET_FILE_GCP_KEY_JSON} se résout sans étape supplémentaire. En retirer un prend effet au prochain déploiement.