mirror of
https://github.com/tale/headplane.git
synced 2026-08-29 00:17:13 +00:00
fix(agent): allow disabling Tailscale netns (#618)
This commit is contained in:
@@ -8,6 +8,7 @@ type Config struct {
|
||||
Hostname string
|
||||
TSControlURL string
|
||||
TSAuthKey string
|
||||
TSNetNS bool
|
||||
WorkDir string
|
||||
}
|
||||
|
||||
@@ -16,6 +17,7 @@ const (
|
||||
HostnameEnv = "HEADPLANE_AGENT_HOSTNAME"
|
||||
TSControlURLEnv = "HEADPLANE_AGENT_TS_SERVER"
|
||||
TSAuthKeyEnv = "HEADPLANE_AGENT_TS_AUTHKEY"
|
||||
TSNetNSEnv = "HEADPLANE_AGENT_TS_NETNS"
|
||||
WorkDirEnv = "HEADPLANE_AGENT_WORK_DIR"
|
||||
)
|
||||
|
||||
@@ -26,6 +28,7 @@ func Load() (*Config, error) {
|
||||
Hostname: os.Getenv(HostnameEnv),
|
||||
TSControlURL: os.Getenv(TSControlURLEnv),
|
||||
TSAuthKey: os.Getenv(TSAuthKeyEnv),
|
||||
TSNetNS: os.Getenv(TSNetNSEnv) != "false",
|
||||
WorkDir: os.Getenv(WorkDirEnv),
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func loadTestConfig(t *testing.T, tailscaleNetNS string) *Config {
|
||||
t.Helper()
|
||||
|
||||
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
}))
|
||||
t.Cleanup(server.Close)
|
||||
|
||||
t.Setenv(DebugEnv, "false")
|
||||
t.Setenv(HostnameEnv, "headplane-agent")
|
||||
t.Setenv(TSControlURLEnv, server.URL)
|
||||
t.Setenv(TSAuthKeyEnv, "test-auth-key")
|
||||
t.Setenv(TSNetNSEnv, tailscaleNetNS)
|
||||
t.Setenv(WorkDirEnv, t.TempDir())
|
||||
|
||||
cfg, err := Load()
|
||||
if err != nil {
|
||||
t.Fatalf("Load() returned an error: %v", err)
|
||||
}
|
||||
|
||||
return cfg
|
||||
}
|
||||
|
||||
func TestLoadTailscaleNetNSEnabledByDefault(t *testing.T) {
|
||||
cfg := loadTestConfig(t, "")
|
||||
if !cfg.TSNetNS {
|
||||
t.Fatal("TSNetNS is false, want true")
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadTailscaleNetNSDisabled(t *testing.T) {
|
||||
cfg := loadTestConfig(t, "false")
|
||||
if cfg.TSNetNS {
|
||||
t.Fatal("TSNetNS is true, want false")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user