@@ -459,40 +459,40 @@ func (c *Controller) getAccountOverrides(account string, ns string) (*accountOve
459
459
return nil , err
460
460
}
461
461
462
- filesToWrite := make (map [string ]string )
462
+ var certData , keyData []byte
463
+ var certPath , keyPath string
463
464
464
- getSecretValue := func (key string ) string {
465
- value , ok := secret .Data [key ]
466
- if ! ok {
467
- return ""
465
+ for k , v := range secret .Data {
466
+ switch k {
467
+ case acc .Spec .TLS .ClientCert :
468
+ certPath = filepath .Join (accDir , k )
469
+ certData = v
470
+ case acc .Spec .TLS .ClientKey :
471
+ keyPath = filepath .Join (accDir , k )
472
+ keyData = v
473
+ case acc .Spec .TLS .RootCAs :
474
+ overrides .remoteRootCA = filepath .Join (accDir , k )
475
+ if err := os .WriteFile (overrides .remoteRootCA , v , 0o644 ); err != nil {
476
+ return nil , err
477
+ }
468
478
}
469
- return string (value )
470
- }
471
-
472
- remoteClientCertValue := getSecretValue (acc .Spec .TLS .ClientCert )
473
- remoteClientKeyValue := getSecretValue (acc .Spec .TLS .ClientKey )
474
- if remoteClientCertValue != "" && remoteClientKeyValue != "" {
475
- overrides .remoteClientCert = filepath .Join (accDir , acc .Spec .TLS .ClientCert )
476
- overrides .remoteClientKey = filepath .Join (accDir , acc .Spec .TLS .ClientKey )
477
-
478
- filesToWrite [acc .Spec .TLS .ClientCert ] = remoteClientCertValue
479
- filesToWrite [acc .Spec .TLS .ClientKey ] = remoteClientKeyValue
480
479
}
481
480
482
- remoteRootCAValue := getSecretValue (acc .Spec .TLS .RootCAs )
483
- if remoteRootCAValue != "" {
484
- overrides .remoteRootCA = filepath .Join (accDir , acc .Spec .TLS .RootCAs )
485
- filesToWrite [acc .Spec .TLS .RootCAs ] = remoteRootCAValue
486
- }
481
+ if certData != nil && keyData != nil {
482
+ overrides .remoteClientCert = certPath
483
+ overrides .remoteClientKey = keyPath
487
484
488
- for file , v := range filesToWrite {
489
- if err := os .WriteFile (filepath .Join (accDir , file ), []byte (v ), 0o644 ); err != nil {
485
+ if err := os .WriteFile (certPath , certData , 0o644 ); err != nil {
486
+ return nil , err
487
+ }
488
+ if err := os .WriteFile (keyPath , keyData , 0o644 ); err != nil {
490
489
return nil , err
491
490
}
492
491
}
493
492
}
493
+
494
494
// Lookup the UserCredentials.
495
- if acc .Spec .Creds != nil {
495
+ if acc .Spec .Creds != nil && acc . Spec . Creds . Secret != nil {
496
496
secretName := acc .Spec .Creds .Secret .Name
497
497
secret , err := c .ki .Secrets (ns ).Get (c .ctx , secretName , k8smeta.GetOptions {})
498
498
if err != nil {
@@ -504,12 +504,11 @@ func (c *Controller) getAccountOverrides(account string, ns string) (*accountOve
504
504
if err := os .MkdirAll (accDir , 0o755 ); err != nil {
505
505
return nil , err
506
506
}
507
- for k , v := range secret .Data {
508
- if k == acc .Spec .Creds .File {
509
- overrides .userCreds = filepath .Join (c .cacheDir , ns , account , k )
510
- if err := os .WriteFile (filepath .Join (accDir , k ), v , 0o644 ); err != nil {
511
- return nil , err
512
- }
507
+
508
+ if credsBytes , ok := secret .Data [acc .Spec .Creds .File ]; ok {
509
+ overrides .userCreds = filepath .Join (accDir , acc .Spec .Creds .File )
510
+ if err := os .WriteFile (overrides .userCreds , credsBytes , 0o644 ); err != nil {
511
+ return nil , err
513
512
}
514
513
}
515
514
}
@@ -522,10 +521,8 @@ func (c *Controller) getAccountOverrides(account string, ns string) (*accountOve
522
521
return nil , err
523
522
}
524
523
525
- for k , v := range secret .Data {
526
- if k == acc .Spec .Token .Token {
527
- overrides .token = string (v )
528
- }
524
+ if token , ok := secret .Data [acc .Spec .Token .Token ]; ok {
525
+ overrides .token = string (token )
529
526
}
530
527
}
531
528
@@ -537,13 +534,11 @@ func (c *Controller) getAccountOverrides(account string, ns string) (*accountOve
537
534
return nil , err
538
535
}
539
536
540
- for k , v := range secret .Data {
541
- if k == acc .Spec .User .User {
542
- overrides .user = string (v )
543
- }
544
- if k == acc .Spec .User .Password {
545
- overrides .password = string (v )
546
- }
537
+ userBytes := secret .Data [acc .Spec .User .User ]
538
+ passwordBytes := secret .Data [acc .Spec .User .Password ]
539
+ if userBytes != nil && passwordBytes != nil {
540
+ overrides .user = string (userBytes )
541
+ overrides .password = string (passwordBytes )
547
542
}
548
543
}
549
544
0 commit comments