vars variable define change configuration heroku

configuration - variable - heroku environment vars



Variables de configuración de múltiples líneas en Heroku (6)

Tengo una aplicación Rails que carga una cantidad de certificados RSA antes de que se realice una transacción con Paypal. En mi máquina de desarrollo, estos certificados se leen de los archivos en el sistema de archivos, pero debido a que Heroku (que estoy utilizando para el despoblamiento) es principalmente de solo lectura, no puedo cargar estos archivos, así que supongo que tendré que lee los certificados de las variables de configuración (ver Heroku Config Vars ).

Debido a que los certificados constan de múltiples líneas de datos, no estoy seguro de cómo configurarlos como variables o incluso si esto es posible. ¿Alguien sabe cómo podría hacer esto o ser capaz de sugerir un enfoque alternativo?

Muchas gracias, Eddie


Descubrí que una manera fácil de agregar configuraciones de múltiples líneas es doblarlas y luego repetirlas desde mi entorno local

heroku config:add EC2_PRIVATE_KEY="$EC2_PRIVATE_KEY"


Mi respuesta llega un poco tarde, pero tuve el mismo problema recientemente con env de múltiples líneas. variables en Heroku. Mi solución fue usar strict_encode64 :

encoded_secret = Base64.strict_encode64("my_multi_line_secret")

agregar la clave:

$ heroku config:set SECRET_KEY=''the encoded_secret string here''

En el código, luego Base64.strict_decode64(ENV[''SECRET_KEY'']) usando Base64.strict_decode64(ENV[''SECRET_KEY''])


Necesitábamos hacer lo mismo.

Puede ajustar el valor de la variable entre comillas dobles:

bobvila@bobuntu:~/svnroot/app/myapp$ heroku config:add woodchuck="How much wood > could a woodchuck chuck > if a woodchuck could chuck wood" Adding config vars and restarting myapp... done, v25 woodchuck: How much wood could a woodchuck chuck if a woodchuck could chuck wood bobvila@bobuntu:~/svnroot/app/myapp$ heroku config === Config Vars for myapp woodchuck: How much wood could a woodchuck chuck if a woodchuck could chuck wood bobvila@bobuntu:~/svnroot/app/myapp$

Si está utilizando Foreman para el desarrollo de localhost, el archivo .env no admite variables de varias líneas, por lo que deberá exportarlo al shell antes de iniciar Foreman


O puede ir a la pestaña Configuración del tablero de Heroku, abrir Config Vars y pegarlo.

Pan comido.


Si desea establecer valores de configuración de Heroku a partir del contenido de su archivo, puede usar el siguiente truco de shell:

$ heroku config:set SECRET_KEY="$(cat path/to/secret.key)"

Los valores de líneas múltiples se pueden establecer directamente poniendo comillas alrededor del valor:

$ heroku config:set SECRET_KEY=''first line > second line''

Si está utilizando Foreman para ejecutar localmente (ahora heroku local ), no admite variables de varias líneas. Debe usar algo para inyectarlos primero en el entorno, como envdir :

$ envdir my-env-dir heroku local