clearml-server/apiserver/config/info.py

48 lines
938 B
Python
Raw Normal View History

2019-07-08 21:01:16 +00:00
from functools import lru_cache
2019-12-14 21:33:04 +00:00
from os import getenv
from pathlib import Path
2019-07-08 21:01:16 +00:00
2021-01-05 14:44:31 +00:00
from apiserver.config_repo import config
2021-01-05 14:28:49 +00:00
from apiserver.version import __version__
2019-07-08 21:01:16 +00:00
root = Path(__file__).parent.parent
def _get(prop_name, env_suffix=None, default=""):
value = getenv(f"TRAINS_SERVER_{env_suffix or prop_name}")
if value:
return value
2019-07-08 21:01:16 +00:00
try:
return (root / prop_name).read_text().strip()
2019-07-08 21:01:16 +00:00
except FileNotFoundError:
return default
@lru_cache()
def get_build_number():
return _get("BUILD")
2019-07-08 21:01:16 +00:00
@lru_cache()
def get_version():
return _get("VERSION", default=__version__)
@lru_cache()
def get_commit_number():
return _get("COMMIT")
2019-12-14 21:33:04 +00:00
@lru_cache()
def get_deployment_type() -> str:
return _get("DEPLOY", env_suffix="DEPLOYMENT_TYPE", default="manual")
def get_default_company():
return config.get("apiserver.default_company")
missed_es_upgrade = False
es_connection_error = False