W frameworku Pyramid, w jaki sposób mogę pobierać poufne ustawienia do pliku development.ini / production.ini z zewnętrznego pliku?
Chciałbym to zatrzymaćdevelopment.ini
iproduction.ini
pod kontrolą wersji, ale ze względów bezpieczeństwa nie chciałbymsqlalchemy.url
ciąg połączenia, który ma być przechowywany, ponieważ zawierałoby nazwę użytkownika i hasło używane do połączenia z bazą danych.
Jaki jest kanoniczny sposób pozyskiwania tego ustawienia z dodatkowego pliku zewnętrznego w Pyramid?
Edytować Oprócz rozwiązania wykorzystującego zmienną środowiskową, wymyśliłem to rozwiązanie po zapytaniu na #pyramid:
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
# Read db password from config file outside of version control
secret_cfg = ConfigParser()
secret_cfg.read(settings['secrets'])
dbpass = secret_cfg.get("secrets", "dbpass")
settings['sqlalchemy.url'] = settings['connstr'] % (dbpass,)