2016-05-16 10 views
0

ich Heroku bin mit, und wenn ich zeigen die Config Vars:Der richtige Einsatz von Figaro mit Heroku (Tasten upcase/downcase zweimal erscheinen)

=== someapp-staging Config Vars 
DATABASE_URL:       xxx 
LANG:         en_US.UTF-8 
NEW_RELIC_LICENSE_KEY:     xxx 
NEW_RELIC_LOG:       stdout 
RACK_ENV:        staging 
RAILS_ENV:        staging 
SENDGRID_PASSWORD:      123456 
SENDGRID_USERNAME:      [email protected] 
WEBSOLR_URL:       https://index.websolr.com/solr/0e1122334455 
sendgrid_password:      654321 
sendgrid_username:      [email protected] 
websolr_url:       https://index.websolr.com/solr/0e1122334455 

... einige sind mehr als einmal definiert.

Der Rat von Heroku ist, alle Variablen mit Großbuchstaben zu setzen. Von https://devcenter.heroku.com/articles/add-ons:

Alias-Namen müssen immer den gleichen Namenskonventionen entsprechen, wie sie Config vars.They mit einem Buchstaben beginnen müssen und nur Großalphanumerische Zeichen oder Unterstreichungen enthalten.

Also ... wenn wir ausführen figaro heroku:set --remote staging -e staging zum Beispiel, warum Figaro nicht automatisch die Tasten auf Großbuchstaben?

Was nun zu tun? Muss gesetzt ich die Vars in application.yml mit gemischten Tasten wie:

staging: 
    <<: *default 
    app_name: 'someapp (staging)' 
    SENDGRID_USERNAME: [email protected] 
    SENDGRID_PASSWORD: 123456 
    WEBSOLR_URL: 'https://index.websolr.com/solr/0e1122334455' 
    geocoder_api_key: 'azertyuiop123456789' 
    airbrake_project_id: "987654" 
    airbrake_project_key: 'a123456z789456123' 

Danke


ps: das ist nicht meine echten Anmeldeinformationen.


Update (von laserlemon Antwort)

https://github.com/laserlemon/figaro/issues/238

Sie Ihre application.yml auf den genauen Fall schreiben sollte Ihre Anwendung verwenden. Während Heroku eine bestimmte Konvention vorschlägt, gibt es keine Garantie dafür, dass jeder diese Konventionen einheitlich verwenden wird (oder kann) . Aus diesem Grund wird Figaro nicht automatisch upcase, downcase oder sonstwie. Hoffnung, die Sinn macht!

+0

Ich gehe davon aus, dass dies nicht Ihre wirklichen Schlüssel und Passwörter sind. – Emanuel

Antwort

0

Beste Antwort von Heroku:

Das Verhalten der config in diesem Fall Vars ist aufgrund der zugrundeliegenden Linux-Betriebssystem ist Groß- und Kleinschreibung. "Behind the scenes" config vars sind nur eine Möglichkeit, Unix-Umgebungsvariablen auf zu setzen, die auf den Dynos gesetzt werden. Daher ist unsere Handhabung von diesen minimal minimal, um sie mit anderen Linux-basierten Hosts konsistent zu halten - wenn wir Wenn Sie den Fall automatisch anpassen, finden Sie möglicherweise Situationen wo es lokal nicht funktionierte, während es auf Heroku tat.