mirror of
https://github.com/slackhq/nebula.git
synced 2026-05-16 04:47:38 +02:00
Some checks failed
smoke-extra / Run windows smoke test (push) Waiting to run
Build and test / Build and test on macos-latest (push) Waiting to run
Build and test / Build and test on windows-latest (push) Waiting to run
gofmt / Run gofmt (push) Successful in 11s
smoke-extra / freebsd-amd64 (push) Failing after 13s
smoke-extra / linux-amd64-ipv6disable (push) Failing after 12s
smoke-extra / netbsd-amd64 (push) Failing after 14s
smoke-extra / openbsd-amd64 (push) Failing after 12s
smoke-extra / linux-386 (push) Failing after 12s
smoke / Run multi node smoke test (push) Failing after 1m27s
Build and test / Build all and test on ubuntu-linux (push) Failing after 20m14s
Build and test / Build and test on linux with boringcrypto (push) Failing after 5m14s
Build and test / Build and test on linux with pkcs11 (push) Failing after 3m12s
30 lines
774 B
Go
30 lines
774 B
Go
package config
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
// DefaultPath returns a path to a config file alongside the running executable, preferring config.yaml over config.yml.
|
|
// If neither file exists an error is returned that names both paths checked.
|
|
func DefaultPath() (string, error) {
|
|
ex, err := os.Executable()
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
return defaultPathInDir(filepath.Dir(ex))
|
|
}
|
|
|
|
func defaultPathInDir(dir string) (string, error) {
|
|
yamlPath := filepath.Join(dir, "config.yaml")
|
|
if _, err := os.Stat(yamlPath); err == nil {
|
|
return yamlPath, nil
|
|
}
|
|
ymlPath := filepath.Join(dir, "config.yml")
|
|
if _, err := os.Stat(ymlPath); err == nil {
|
|
return ymlPath, nil
|
|
}
|
|
return "", fmt.Errorf("no default config found at %s or %s", yamlPath, ymlPath)
|
|
}
|