diff --git a/src/codeflare_sdk/cluster/auth.py b/src/codeflare_sdk/cluster/auth.py index e22cd8283..f83a33353 100644 --- a/src/codeflare_sdk/cluster/auth.py +++ b/src/codeflare_sdk/cluster/auth.py @@ -32,6 +32,8 @@ global config_path config_path = None +WORKBENCH_CA_CERT_PATH = "/etc/pki/tls/custom-certs/ca-bundle.crt" + class Authentication(metaclass=abc.ABCMeta): """ @@ -81,7 +83,7 @@ def __init__( token: str, server: str, skip_tls: bool = False, - ca_cert_path: str = "/etc/pki/tls/custom-certs/ca-bundle.crt", + ca_cert_path: str = None, ): """ Initialize a TokenAuthentication object that requires a value for `token`, the API Token @@ -91,7 +93,17 @@ def __init__( self.token = token self.server = server self.skip_tls = skip_tls - self.ca_cert_path = ca_cert_path + self.ca_cert_path = self._gen_ca_cert_path(ca_cert_path) + + def _gen_ca_cert_path(self, ca_cert_path: str): + if ca_cert_path is not None: + return ca_cert_path + elif "CF_SDK_CA_CERT_PATH" in os.environ: + return os.environ.get("CF_SDK_CA_CERT_PATH") + elif os.path.exists(WORKBENCH_CA_CERT_PATH): + return WORKBENCH_CA_CERT_PATH + else: + return None def login(self) -> str: """ @@ -106,12 +118,8 @@ def login(self) -> str: configuration.api_key_prefix["authorization"] = "Bearer" configuration.host = self.server configuration.api_key["authorization"] = self.token - ca_path_env = os.environ.get("CF_SDK_CA_CERT_PATH", self.ca_cert_path) if self.skip_tls == False: - if ca_path_env != self.ca_cert_path: - self.ca_cert_path = ca_path_env - if self.ca_cert_path == None: configuration.ssl_ca_cert = None elif os.path.isfile(self.ca_cert_path):