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)
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)
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)
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