Compare commits

...

2 Commits

  1. 2
      README.md
  2. 14
      pkg/client/kubeconfig.go

@ -184,5 +184,5 @@ This project follows the [all-contributors](https://github.com/all-contributors/
Thanks to all our amazing sponsors! πŸ™ Thanks to all our amazing sponsors! πŸ™
<ul> <ul>
<!-- sponsors --><li><a href="https://github.com/dwightgunning">[<strong>dwightgunning</strong>]</a> Dwight Gunning</li><li><a href="https://github.com/mbrettsc">[<strong>mbrettsc</strong>]</a> Martin Brettschneider</li><!-- sponsors --> <!-- sponsors --><li><a href="https://github.com/dwightgunning">[<strong>dwightgunning</strong>]</a> Dwight Gunning</li><li><a href="https://github.com/mbrettsc">[<strong>mbrettsc</strong>]</a> Martin Brettschneider</li><li><a href="https://github.com/jpfyoder">[<strong>jpfyoder</strong>]</a> Joshua Yoder</li><!-- sponsors -->
</ul> </ul>

@ -283,12 +283,22 @@ func KubeconfigWrite(ctx context.Context, kubeconfig *clientcmdapi.Config, path
return fmt.Errorf("failed to write merged kubeconfig to temporary file '%s': %w", tempPath, err) return fmt.Errorf("failed to write merged kubeconfig to temporary file '%s': %w", tempPath, err)
} }
// In case path is a symlink, retrives the name of the target
realPath, err := filepath.EvalSymlinks(path)
if err != nil {
return fmt.Errorf("failed to follow symlink '%s': %w", path, err)
}
// Move temporary file over existing KubeConfig // Move temporary file over existing KubeConfig
if err := os.Rename(tempPath, path); err != nil { if err := os.Rename(tempPath, realPath); err != nil {
return fmt.Errorf("failed to overwrite existing KubeConfig '%s' with new kubeconfig '%s': %w", path, tempPath, err) return fmt.Errorf("failed to overwrite existing KubeConfig '%s' with new kubeconfig '%s': %w", path, tempPath, err)
} }
l.Log().Debugf("Wrote kubeconfig to '%s'", path) extraLog := ""
if filepath.Clean(path) != realPath {
extraLog = fmt.Sprintf("(via symlink '%s')", path)
}
l.Log().Debugf("Wrote kubeconfig to '%s' %s", realPath, extraLog)
return nil return nil
} }

Loading…
Cancel
Save