feat: allow setting config and connection with UNCLOUD_CONFIG and UNCLOUD_CONNECT env vars

This commit is contained in:
Pasha Sviderski
2025-09-16 10:17:44 +10:00
parent f8fe3c7af3
commit 3db07ca2d4
2 changed files with 19 additions and 4 deletions
+13
View File
@@ -1,7 +1,11 @@
package cli
import (
"log"
"os"
"strings"
"github.com/spf13/cobra"
)
// ExpandCommaSeparatedValues takes a slice of strings and expands any comma-separated values into individual elements.
@@ -21,3 +25,12 @@ func ExpandCommaSeparatedValues(values []string) []string {
return expanded
}
// BindEnvToFlag assigns the value of an environment variable to the given command flag if the flag has not been set.
func BindEnvToFlag(cmd *cobra.Command, flagName, envVar string) {
if value := os.Getenv(envVar); value != "" && !cmd.Flags().Changed(flagName) {
if err := cmd.Flags().Set(flagName, value); err != nil {
log.Fatalf("Failed to bind environment variable '%s' to flag '%s': %v", envVar, flagName, err)
}
}
}