Exemple #1
0
 def client(self, group, version):
     client_config = Configuration()
     config.load_kube_config(self.config_file, client_configuration=client_config)
     client_config.proxy = self.http_proxy
     api_client = ApiClient(configuration=client_config)
     log.debug('connecting to %s' % (api_client.configuration.host))
     # e.g. client.CoreV1Api()
     return getattr(client, '%s%sApi' % (group, version))(api_client)
Exemple #2
0
 def client(self, group, version):
     client_config = Configuration()
     config.load_kube_config(self.config_file, client_configuration=client_config)
     client_config.proxy = self.http_proxy
     api_client = ApiClient(configuration=client_config)
     log.info('connecting to %s' % (api_client.configuration.host))
     # e.g. client.CoreV1Api()
     return getattr(client, '%s%sApi' % (group, version))(api_client)
Exemple #3
0
    def init_k8s_client(kube_context: str) -> client.CoreV1Api:
        env = os.environ
        if kube_context:
            # config.load_kube_config()
            config.load_kube_config(kube_context)
            configuration = Configuration()
            configuration.verify_ssl = bool(
                strtobool((env.get("KUBERNETES_VERIFY_SSL", "false"))))
            api_client = client.ApiClient(configuration)
            return client.CoreV1Api(api_client)
        elif env.get("CHAOSTOOLKIT_IN_POD") == "true":
            config.load_incluster_config()

            proxy_url = os.getenv('HTTP_PROXY', None)
            if proxy_url:
                configuration = Configuration()
                configuration.proxy = proxy_url
                api_client = client.ApiClient(configuration)
                return client.CoreV1Api(api_client)
            else:
                api = client.ApiClient()
                return client.CoreV1Api(api)

        else:
            configuration = client.Configuration()
            configuration.debug = True
            configuration.host = os.environ.get("KUBERNETES_HOST",
                                                "http://localhost")
            configuration.verify_ssl = bool(
                strtobool((env.get("KUBERNETES_VERIFY_SSL", "false"))))
            configuration.cert_file = os.environ.get("KUBERNETES_CA_CERT_FILE")
            if "KUBERNETES_CERT_FILE" in env:
                configuration.cert_file = os.environ.get(
                    "KUBERNETES_CERT_FILE")
                configuration.key_file = os.environ.get("KUBERNETES_KEY_FILE")
            elif "KUBERNETES_USERNAME" in env:
                configuration.username = os.environ.get("KUBERNETES_USERNAME")
                configuration.password = os.environ.get(
                    "KUBERNETES_PASSWORD", "")

            proxy_url = os.getenv('HTTP_PROXY', None)
            if proxy_url:
                configuration.proxy = proxy_url
            api = client.ApiClient(configuration)
            return client.CoreV1Api(api)
Exemple #4
0
def get_api_client():
    proxy_url = os.getenv('HTTP_PROXY', None)

    if proxy_url:
        print("Setting proxy: {}".format(proxy_url))
        my_api_config = Configuration()
        my_api_config.host = proxy_url
        my_api_config.proxy = proxy_url
        my_api_config = client.ApiClient(my_api_config)
    else:
        config.load_kube_config()
        my_api_config = client.ApiClient()

    return my_api_config