Mohammed Naser | 7d3c797 | 2022-11-07 10:54:56 -0500 | [diff] [blame] | 1 | import json |
Mohammed Naser | 71ebfe8 | 2022-12-28 05:28:16 +0000 | [diff] [blame] | 2 | import os |
Mohammed Naser | 7d3c797 | 2022-11-07 10:54:56 -0500 | [diff] [blame] | 3 | |
| 4 | import _jsonnet |
Mohammed Naser | 71ebfe8 | 2022-12-28 05:28:16 +0000 | [diff] [blame] | 5 | import tomli |
| 6 | |
| 7 | from atmosphere.operator import utils |
| 8 | |
| 9 | CONFIG_FILE = os.environ.get("ATMOSPHERE_CONFIG", "/etc/atmosphere/config.toml") |
Mohammed Naser | 7d3c797 | 2022-11-07 10:54:56 -0500 | [diff] [blame] | 10 | |
| 11 | |
| 12 | def load_jsonnet_from_path(path: str) -> any: |
| 13 | raw = _jsonnet.evaluate_file(path) |
| 14 | return json.loads(raw) |
Mohammed Naser | 71ebfe8 | 2022-12-28 05:28:16 +0000 | [diff] [blame] | 15 | |
| 16 | |
| 17 | def get_legacy_image_repository(config_path: str = CONFIG_FILE) -> str or None: |
okozachenko1203 | 6ffcda5 | 2022-12-28 21:46:42 +1100 | [diff] [blame] | 18 | try: |
| 19 | with open(config_path, "rb") as fd: |
| 20 | data = tomli.load(fd) |
| 21 | except FileNotFoundError: |
| 22 | return None |
Mohammed Naser | 71ebfe8 | 2022-12-28 05:28:16 +0000 | [diff] [blame] | 23 | |
| 24 | if data.get("image_repository", ""): |
| 25 | return data["image_repository"] |
| 26 | |
| 27 | return None |
| 28 | |
| 29 | |
| 30 | def get_image_ref_using_legacy_image_repository(image_name: str) -> str: |
| 31 | return utils.get_image_ref( |
| 32 | image_name, |
| 33 | override_registry=get_legacy_image_repository(), |
| 34 | ) |