Adding load_config wrapper method to have a more generic way of initializing the client config

This commit is contained in:
Moshe Shitrit 2020-12-25 12:22:38 -05:00
parent 7199c14a8d
commit 0c662bb33d

View File

@ -12,7 +12,22 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import os
from .config_exception import ConfigException
from .incluster_config import load_incluster_config
from .kube_config import (list_kube_config_contexts, load_kube_config,
load_kube_config_from_dict, new_client_from_config)
load_kube_config_from_dict, new_client_from_config, KUBE_CONFIG_DEFAULT_LOCATION)
def load_config(**kwargs):
"""
Wrapper function to load the kube_config.
It will initially try to load_kube_config from provided path, then check if the KUBE_CONFIG_DEFAULT_LOCATION exists
If neither exists- it will fall back to load_incluster_config and inform the user accordingly.
"""
if "kube_config_path" in kwargs.keys() or os.path.exists(KUBE_CONFIG_DEFAULT_LOCATION):
load_kube_config(**kwargs)
else:
print(f"kube_config_path not provided and default location ({KUBE_CONFIG_DEFAULT_LOCATION}) does not exist. "
"Using inCluster Config. This might not work.")
load_incluster_config(**kwargs)