Example #1
0
def create(context, conf, **kwargs):
    register_opts(conf)

    client_config = conf.k8s_client
    LOG.info('Creating the kubernetes client with url %s.',
             client_config.k8s_host)

    config = Configuration()
    config.host = client_config.k8s_host
    config.ssl_ca_cert = client_config.k8s_ssl_ca_cert
    config.cert_file = client_config.k8s_cert_file
    config.key_file = client_config.k8s_key_file
    k8s_api_client = api_client.ApiClient(config)
    k8s_core_v1_api = client.CoreV1Api(k8s_api_client)
    return k8s_core_v1_api
Example #2
0
def get_cli(cluster_name):
    global _client_cache
    if cluster_name in _client_cache:
        return _client_cache.get(cluster_name, None)

    cluster = Cluster.query.filter_by(name=cluster_name).first()
    if cluster is None:
        return None

    cfg = Configuration()
    # cfg.debug = True
    cfg.host = cluster.addr
    cfg.ssl_ca_cert = _create_temp_file_with_content(
        base64.b64decode(cluster.cert))
    cfg.api_key['authorization'] = "Bearer {}".format(cluster.access_token)

    api = ApiClient(cfg)
    _client_cache[cluster_name] = api
    return api