Make INTERFACE optional with default wg0, document host networking, capabilities and name lookup

This commit is contained in:
2026-10-20 23:33:14 +00:00
parent c7b16dd275
commit d422b4db8c
4 changed files with 38 additions and 27 deletions
+2 -15
View File
@@ -1,27 +1,14 @@
package environmentchecks
import (
"fmt"
"os"
)
// HandleDefaults sets every env that is unset or empty to its default.
func HandleDefaults(envDefaults map[string]string) {
for env, defaultValue := range envDefaults {
// Check if env is set
_, isSet := os.LookupEnv(env)
if !isSet {
if os.Getenv(env) == "" {
os.Setenv(env, defaultValue)
}
}
}
func HandleRequired(envRequired []string) error {
for _, env := range envRequired {
// Check if env is set
_, isSet := os.LookupEnv(env)
if !isSet {
return fmt.Errorf("env '%s' required, but not set", env)
}
}
return nil
}
@@ -0,0 +1,29 @@
package environmentchecks
import (
"os"
"testing"
)
func TestHandleDefaults(t *testing.T) {
t.Setenv("TEST_UNSET", "")
os.Unsetenv("TEST_UNSET")
t.Setenv("TEST_EMPTY", "")
t.Setenv("TEST_SET", "value")
HandleDefaults(map[string]string{
"TEST_UNSET": "default",
"TEST_EMPTY": "default",
"TEST_SET": "default",
})
for env, want := range map[string]string{
"TEST_UNSET": "default",
"TEST_EMPTY": "default",
"TEST_SET": "value",
} {
if got := os.Getenv(env); got != want {
t.Errorf("%s = %q, want %q", env, got, want)
}
}
}