|
9 | 9 | CONFIG_FILE = os.getenv("CONFIG_FILE", "config.json") |
10 | 10 | ACCEPTED_ENVIRONMENT_VARIABLES = { |
11 | 11 | "cms": { |
12 | | - "CMS_PROJECT_NAME", |
13 | | - "CMS_HOST_URL", |
| 12 | + "CMS_HOST_URL": "", |
| 13 | + "CMS_PROJECT_NAME": "cms", |
| 14 | + "CMS_SERVER_PORT": "8000", |
14 | 15 | }, |
15 | 16 | "cmg": { |
16 | | - "CMG_DB_USER", |
17 | | - "CMG_DB_PASSWORD", |
18 | | - "CMG_DB_NAME", |
19 | | - "CMG_DB_HOST", |
20 | | - "CMG_DB_PORT", |
21 | | - "CMG_OBJECT_STORE_HOST", |
22 | | - "CMG_OBJECT_STORE_PORT", |
23 | | - "CMG_OBJECT_STORE_ACCESS_KEY", |
24 | | - "CMG_OBJECT_STORE_SECRET_KEY", |
25 | | - "CMG_OBJECT_STORE_BUCKET_TASKS", |
26 | | - "CMG_OBJECT_STORE_BUCKET_RESULTS", |
27 | | - "CMG_QUEUE_USER", |
28 | | - "CMG_QUEUE_PASSWORD", |
29 | | - "CMG_QUEUE_NAME", |
30 | | - "CMG_QUEUE_HOST", |
31 | | - "CMG_QUEUE_PORT", |
32 | | - "CMG_SCHEDULER_MAX_CONCURRENT_TASKS", |
| 17 | + "CMG_DB_USER": "admin", |
| 18 | + "CMG_DB_PASSWORD": "admin", |
| 19 | + "CMG_DB_NAME": "cmg_tasks", |
| 20 | + "CMG_DB_HOST": "postgres", |
| 21 | + "CMG_DB_PORT": "5432", |
| 22 | + "CMG_OBJECT_STORE_HOST": "minio", |
| 23 | + "CMG_OBJECT_STORE_PORT": "9000", |
| 24 | + "CMG_OBJECT_STORE_ACCESS_KEY": "admin", |
| 25 | + "CMG_OBJECT_STORE_SECRET_KEY": "admin123", |
| 26 | + "CMG_OBJECT_STORE_BUCKET_TASKS": "cmg-tasks", |
| 27 | + "CMG_OBJECT_STORE_BUCKET_RESULTS": "cmg-results", |
| 28 | + "CMG_QUEUE_USER": "admin", |
| 29 | + "CMG_QUEUE_PASSWORD": "admin", |
| 30 | + "CMG_QUEUE_NAME": "cmg_tasks", |
| 31 | + "CMG_QUEUE_HOST": "rabbitmq", |
| 32 | + "CMG_QUEUE_PORT": "5672", |
| 33 | + "CMG_SCHEDULER_MAX_CONCURRENT_TASKS": "1", |
33 | 34 | }, |
34 | 35 | } |
35 | 36 |
|
@@ -85,18 +86,17 @@ def load_config() -> Config: |
85 | 86 | with open(CONFIG_FILE) as f: |
86 | 87 | config = json.load(f) |
87 | 88 | except FileNotFoundError: |
88 | | - log.error(f"Config file {CONFIG_FILE} not found.") |
89 | | - raise |
| 89 | + log.warning(f"Config file {CONFIG_FILE} not found.") |
| 90 | + config = {} |
90 | 91 | except json.JSONDecodeError: |
91 | 92 | log.error(f"Config file {CONFIG_FILE} is not a valid JSON file.") |
92 | 93 | raise |
93 | 94 |
|
94 | 95 | load_dotenv() |
95 | 96 | for key, env_vars in ACCEPTED_ENVIRONMENT_VARIABLES.items(): |
96 | 97 | config[key] = { |
97 | | - var.replace(f"{key.upper()}_", "", 1).lower(): value |
98 | | - for var in env_vars |
99 | | - if (value := os.getenv(var)) |
| 98 | + var.replace(f"{key.upper()}_", "", 1).lower(): os.getenv(var, default) |
| 99 | + for var, default in env_vars.items() |
100 | 100 | } |
101 | 101 | log.info(f"Loaded config: {config}") |
102 | 102 | _config_instance = Config(config) |
|
0 commit comments