In genere ho gestito tutti i tipi di segreti del progetto tramite i file di configurazione (spesso specifici dell'ambiente) e quindi non li ho mai commessi al controllo del codice sorgente. Il formato di questi file può essere qualsiasi cosa tu voglia / qualunque cosa funzioni bene: xml, yaml, json, ecc. Quindi il codice è responsabile della lettura dei valori dal file di configurazione.
A volte è fastidioso che questi valori non siano nel controllo del codice sorgente (rende l'implementazione un po 'più difficile, ad esempio), ma sembra che tu stia gestendo i valori separatamente in ogni caso, quindi non dovresti aggiungere molto overhead.
Modifica
Non ho molta familiarità con Heroku, quindi ho appena risposto alla domanda in generale. Ma dopo averlo esaminato di più, posso vedere dove questo potrebbe essere un problema da gestire.
Sembra che tu già gestisca i vali di configurazione tramite bash_profile
- questo è positivo perché vorresti avere un documento "fonte di registrazione" in cui puoi guardare e modificare questi valori.
Oltre a ciò, sembra che nominare sarà la prossima cosa più importante. HEROKU_ADD_ON_1 non è molto descrittivo. Ma DROPBOX_API_KEY o AWS_S3_BUCKET_KEY danno una migliore idea di cosa sia la variabile. E puoi distinguere tra le chiavi dello stesso provider anche attraverso una buona denominazione: FEATURE_A_AWS_KEY vs FEATURE_B_AWS_KEY.