Variáveis e secrets
Defina variáveis, referencie outros serviços e compartilhe configurações entre apps.
- Defina uma variável em Variables no app ou no canvas. Os valores são criptografados e aplicados no próximo deploy.
- Serviços provisionados injetam as próprias:
DATABASE_URLeDATABASE_HOST/PORT/USER/PASSWORD/NAME,REDIS_URL,CLICKHOUSE_DATABASE_URL, chaves de storage, eRAILYARD_HOSTNAME,RAILYARD_URL,RAILYARD_PRIVATE_URL. - Referencie outro serviço com
${{api.RAILYARD_PRIVATE_URL}}— resolvido por ambiente.RAILYARD_PRIVATE_URLéhttp://<name>.railyard.internal:<port>; funciona entre apps no mesmo servidor sempre, e entre apps em servidores diferentes da equipe depois que a rede privada estiver ativada. - Configuração compartilhada (Team → Shared config) fica disponível como
${config.KEY}em qualquer app. - Variáveis documentadas que o app lista (por exemplo,
MAIN_DB_HOST,DB_USERNAME,PGHOST,BIND_ADDRESS,APP_URL) são preenchidas automaticamente a partir dos serviços acima; secrets que o app gera (SECRET_KEY_BASE,APP_KEY,JWT_SECRET…) são criados uma única vez. Chaves de terceiros nunca são inventadas.
Secrets em arquivo
Alguns secrets precisam ser um arquivo, não uma variável: um JSON de service account, um certificado de cliente. Adicione-os em Variables → File secrets com um nome e o conteúdo (até 64 KB). Cada um é armazenado criptografado e montado somente leitura no container em /etc/railyard/secrets/<name>, com o caminho também exposto como RAILYARD_SECRET_FILE_<NAME>, de forma que GOOGLE_APPLICATION_CREDENTIALS=${RAILYARD_SECRET_FILE_GCP_KEY_JSON} já funciona sem passos extras. Remover um deles tem efeito no próximo deploy.