fabaccess/fab_access/config.py
Philipp Fruck bb144d78bc
refactor python codebase
variable configuration through config.py and code splitting into
multiple files. Also added requirements.txt and gitignore.
2022-11-01 21:44:04 +01:00

34 lines
1.1 KiB
Python

import os
def _read_from_env(key: str, default: str = None) -> str:
if (value := os.environ.get(key, default)) is not None:
return value
raise Exception(f'[Config] Error: Cannot find required value {key}')
def get_keycloak_config():
return {
'server_url': _read_from_env('KEYCLOAK_URL'),
'username': _read_from_env('KEYCLOAK_USERNAME'),
'password': _read_from_env('KEYCLOAK_PASSWORD'),
'realm_name': _read_from_env('REALM'),
}
def get_database_config():
return {
'host': _read_from_env('DB_HOSTNAME'),
'user': _read_from_env('DB_USERNAME'),
'port': int(_read_from_env('DB_PORT', '3306')),
'password': _read_from_env('DB_PASSWORD'),
'dbname': _read_from_env('DB_DATABASE'),
}
def get_mqtt_config():
print("port", int(_read_from_env('MQTT_PORT', '1883')))
return {
'client_name': _read_from_env('MQTT_CLIENT'),
'username': _read_from_env('MQTT_USERNAME', ''),
'password': _read_from_env('MQTT_PASSWORD', ''),
'broker': _read_from_env('MQTT_BROKER'),
'port': int(_read_from_env('MQTT_PORT', '1883')),
}