hetzner-kube: fix darwin build

master
Stéphan Kochen 2021-05-16 10:59:58 +02:00 committed by Jonathan Ringer
parent 74e27e2236
commit 28b48756d5
2 changed files with 62 additions and 0 deletions

View File

@ -11,6 +11,13 @@ buildGoModule rec {
sha256 = "1iqgpmljqx6rhmvsir2675waj78amcfiw08knwvlmavjgpxx2ysw";
};
patches = [
# Use $HOME instead of the OS user database.
# Upstream PR: https://github.com/xetys/hetzner-kube/pull/346
# Unfortunately, the PR patch does not apply against release.
./fix-home.patch
];
vendorSha256 = "1jh2f66ys6rmrrwrf5zqfprgcvziyq6l4z8bfqwxgf1ysnxx525h";
doCheck = false;
@ -25,6 +32,8 @@ buildGoModule rec {
];
postInstall = ''
# Need a writable home, because it fails if unable to write config.
export HOME=$TMP
$out/bin/hetzner-kube completion bash > hetzner-kube
$out/bin/hetzner-kube completion zsh > _hetzner-kube
installShellCompletion --zsh _hetzner-kube

View File

@ -0,0 +1,53 @@
diff --git a/cmd/cluster_kubeconfig.go b/cmd/cluster_kubeconfig.go
index 54cc0c9..fab288a 100644
--- a/cmd/cluster_kubeconfig.go
+++ b/cmd/cluster_kubeconfig.go
@@ -6,7 +6,7 @@ import (
"io/ioutil"
"log"
"os"
- "os/user"
+ "path/filepath"
"strings"
"github.com/spf13/cobra"
@@ -52,9 +52,8 @@ Example 4: hetzner-kube cluster kubeconfig -n my-cluster -p > my-conf.yaml # pri
} else {
fmt.Println("create file")
- usr, _ := user.Current()
- dir := usr.HomeDir
- path := fmt.Sprintf("%s/.kube", dir)
+ dir, _ := os.UserHomeDir()
+ path := filepath.Join(dir, ".kube")
if _, err := os.Stat(path); os.IsNotExist(err) {
os.MkdirAll(path, 0755)
diff --git a/cmd/config.go b/cmd/config.go
index ce0f3e5..a03c4ba 100644
--- a/cmd/config.go
+++ b/cmd/config.go
@@ -8,7 +8,6 @@ import (
"io/ioutil"
"log"
"os"
- "os/user"
"path/filepath"
"github.com/hetznercloud/hcloud-go/hcloud"
@@ -28,13 +27,8 @@ type AppSSHClient struct {
// NewAppConfig creates a new AppConfig struct using the locally saved configuration file. If no local
// configuration file is found a new config will be created.
func NewAppConfig() AppConfig {
- usr, err := user.Current()
- if err != nil {
- return AppConfig{}
- }
- if usr.HomeDir != "" {
- DefaultConfigPath = filepath.Join(usr.HomeDir, ".hetzner-kube")
- }
+ dir, _ := os.UserHomeDir()
+ DefaultConfigPath = filepath.Join(dir, ".hetzner-kube")
appConf := AppConfig{
Context: context.Background(),