Configuration specific to cloud provider can be separated in a config file by setting cloud provider name as a section.
Define a configuration file
Create a configuration file - config.ini in the src package and define cloud provider specific configuration similar to below.
[aws]
bucket_name: test-aws-bucket
[gcp]
bucket_name: test-gcp-bucket
Read the configuration in the code
Read cloud provider from environment variable.
cloud_provider = os.environ.get('CLOUD_PROVIDER')
Declare a config parser in python and read the configuration file
config = configparser.ConfigParser()
config_path = os.path.join(os.path.dirname(__file__), 'config.ini')
config.read(config_path)
bucket_name = config.get(cloud_provider,'bucket_name')
In this way, we can separate cloud provider specific configuration in config files.
Please feel free to comment with any suggestions/feedback.
Top comments (0)