@@ -304,21 +304,14 @@ static int kuberconfig_auth_provider(kubeconfig_property_t * current_user, kubec
304
304
return rc ;
305
305
}
306
306
307
- int load_kube_config (char * * pBasePath , sslConfig_t * * pSslConfig , list_t * * pApiKeys , const char * configFileName )
307
+ int load_kube_config_common (char * * pBasePath , sslConfig_t * * pSslConfig , list_t * * pApiKeys , kubeconfig_t * kubeconfig )
308
308
{
309
- static char fname [] = "load_kube_config ()" ;
309
+ static char fname [] = "load_kube_config_common ()" ;
310
310
int rc = 0 ;
311
311
const kubeconfig_property_t * current_context = NULL ;
312
312
const kubeconfig_property_t * current_cluster = NULL ;
313
313
kubeconfig_property_t * current_user = NULL ;
314
314
315
- kubeconfig_t * kubeconfig = kubeconfig_create ();
316
- if (!kubeconfig ) {
317
- fprintf (stderr , "%s: Cannot create kubeconfig.[%s]\n" , fname , strerror (errno ));
318
- return -1 ;
319
- }
320
-
321
- kubeconfig -> fileName = getWorkingConfigFile (configFileName );
322
315
rc = kubeyaml_load_kubeconfig (kubeconfig );
323
316
if (0 != rc ) {
324
317
fprintf (stderr , "%s: Cannot load the kubeconfig %s\n" , fname , kubeconfig -> fileName );
@@ -393,8 +386,48 @@ int load_kube_config(char **pBasePath, sslConfig_t ** pSslConfig, list_t ** pApi
393
386
}
394
387
395
388
end :
389
+ return rc ;
390
+ }
391
+
392
+ int load_kube_config (char * * pBasePath , sslConfig_t * * pSslConfig , list_t * * pApiKeys , const char * configFileName )
393
+ {
394
+ static char fname [] = "load_kube_config()" ;
395
+ int rc = 0 ;
396
+
397
+ kubeconfig_t * kubeconfig = kubeconfig_create ();
398
+ if (!kubeconfig ) {
399
+ fprintf (stderr , "%s: Cannot create kubeconfig.[%s]\n" , fname , strerror (errno ));
400
+ return -1 ;
401
+ }
402
+
403
+ kubeconfig -> fileName = getWorkingConfigFile (configFileName );
404
+
405
+ rc = load_kube_config_common (pBasePath , pSslConfig , pApiKeys , kubeconfig );
406
+
407
+ kubeconfig_free (kubeconfig );
408
+ kubeconfig = NULL ;
409
+
410
+ return rc ;
411
+ }
412
+
413
+ int load_kube_config_buffer (char * * pBasePath , sslConfig_t * * pSslConfig , list_t * * pApiKeys , const char * buffer )
414
+ {
415
+ static char fname [] = "load_kube_config_buffer()" ;
416
+ int rc = 0 ;
417
+
418
+ kubeconfig_t * kubeconfig = kubeconfig_create ();
419
+ if (!kubeconfig ) {
420
+ fprintf (stderr , "%s: Cannot create kubeconfig.[%s]\n" , fname , strerror (errno ));
421
+ return -1 ;
422
+ }
423
+
424
+ kubeconfig -> buffer = strdup (buffer );
425
+
426
+ rc = load_kube_config_common (pBasePath , pSslConfig , pApiKeys , kubeconfig );
427
+
396
428
kubeconfig_free (kubeconfig );
397
429
kubeconfig = NULL ;
430
+
398
431
return rc ;
399
432
}
400
433
0 commit comments