| 1234567891011121314151617181920212223242526272829303132 |
- package utils
- import (
- "fmt"
- "os"
- "path/filepath"
- )
- func GetFileReferenceFromKubeconfig(
- filename string,
- kubeconfigPath string,
- ) (string, error) {
- if info, err := os.Stat(filename); os.IsNotExist(err) && !info.IsDir() {
- // attempt to discover the filename relative to the kubeconfig location
- absPath, err := filepath.Abs(kubeconfigPath)
- if err != nil {
- return "", err
- }
- fPath := filepath.Join(filepath.Dir(absPath), filename)
- if info, err := os.Stat(fPath); !os.IsNotExist(err) && !info.IsDir() {
- return fPath, nil
- } else {
- return "", fmt.Errorf("%s not found", filename)
- }
- } else if info.IsDir() {
- return "", fmt.Errorf("%s is a directory", filename)
- }
- return filename, nil
- }
|