in src/common/init_deployment_config.py [0:0]
def main(args: typing.Sequence[str]) -> int:
logging.basicConfig(
format="%(asctime)s | %(levelname)s | %(message)s",
level=logging.INFO,
)
parser = argparse.ArgumentParser(description="Cortex Config Validator.")
parser.add_argument("--config-file",
type=str,
required=False,
default=_DEFAULT_CONFIG_)
parser.add_argument("--sub-validator",
action="append",
default=[],
required=False)
params = parser.parse_args(args)
logging.info("🦄 Running config validation and processing: %s.",
params.config_file)
try:
config = _load_config(params.config_file)
except RuntimeError:
logging.exception("Invalid JSON")
return 1
if config.get("validated", False):
logging.info("✅ Configuration in `%s` "
"was previously validated.", params.config_file)
else:
config = validate_config(config, list(params.sub_validator))
if not config:
logging.error("🛑🔪 Configuration in `%s` is invalid. 🔪🛑\n\n",
params.config_file)
return 1
config["validated"] = True
_save_config(params.config_file, config)
logging.info(("🦄 Configuration in `%s` was "
"successfully validated and processed. Let's roll! 🦄\n\n"),
params.config_file)
return 0