diff --git a/cmd/config/config_test.go b/cmd/config/config_test.go index fbeca871..8fd0674f 100644 --- a/cmd/config/config_test.go +++ b/cmd/config/config_test.go @@ -38,14 +38,15 @@ func TestUpdateConfigWithEnvVar(t *testing.T) { originalValue := os.Getenv("FLYTE_ADMIN_ENDPOINT") defer os.Setenv("FLYTE_ADMIN_ENDPOINT", originalValue) - dummyUrl := "dns://dummyHost" - os.Setenv("FLYTE_ADMIN_ENDPOINT", dummyUrl) + dummyURL := "dns://dummyHost" + os.Setenv("FLYTE_ADMIN_ENDPOINT", dummyURL) - parsedDummyUrl, _ := url.Parse(dummyUrl) + parsedDummyURL, _ := url.Parse(dummyURL) adminCfg := admin.GetConfig(context.Background()) - assert.NotEqual(t, adminCfg.Endpoint.URL, *parsedDummyUrl) - UpdateConfigWithEnvVar() - assert.Equal(t, adminCfg.Endpoint.URL, *parsedDummyUrl) + assert.NotEqual(t, adminCfg.Endpoint.URL, *parsedDummyURL) + err := UpdateConfigWithEnvVar() + assert.Nil(t, err) + assert.Equal(t, adminCfg.Endpoint.URL, *parsedDummyURL) } diff --git a/cmd/config/env_var_reader.go b/cmd/config/env_var_reader.go index 51119f9b..be8c645a 100644 --- a/cmd/config/env_var_reader.go +++ b/cmd/config/env_var_reader.go @@ -10,14 +10,11 @@ import ( "github.com/flyteorg/flyte/flytestdlib/config" ) -type FuncType func() error +const flyteAdminEndpoint = "FLYTE_ADMIN_ENDPOINT" -var funcMap = map[string]FuncType{} +type FuncType func() error -func init() { - funcMap["FLYTE_ADMIN_ENDPOINT"] = getAdminEndpoint - // TODO add more env vars if needed -} +var funcMap = map[string]FuncType{flyteAdminEndpoint: updateAdminEndpoint} func UpdateConfigWithEnvVar() error { for envVar, f := range funcMap { @@ -30,16 +27,19 @@ func UpdateConfigWithEnvVar() error { return nil } -func getAdminEndpoint() error { +func updateAdminEndpoint() error { ctx := context.Background() cfg := admin.GetConfig(ctx) - if len(os.Getenv("FLYTE_ADMIN_ENDPOINT")) > 0 { - envEndpoint, err := url.Parse(os.Getenv("FLYTE_ADMIN_ENDPOINT")) + + if len(os.Getenv(flyteAdminEndpoint)) > 0 { + envEndpoint, err := url.Parse(os.Getenv(flyteAdminEndpoint)) if err != nil { - return fmt.Errorf("error parsing env var flyte_admin_endpoint: %v", err) + return fmt.Errorf("error parsing env var %v: %v", flyteAdminEndpoint, err) } cfg.Endpoint = config.URL{URL: *envEndpoint} - admin.SetConfig(cfg) + if err := admin.SetConfig(cfg); err != nil { + return err + } } return nil } diff --git a/cmd/root.go b/cmd/root.go index 1a009a8e..49ecad01 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -134,7 +134,9 @@ func initConfig(cmd *cobra.Command, _ []string) error { return err } - config.UpdateConfigWithEnvVar() + if err := config.UpdateConfigWithEnvVar(); err != nil { + return err + } return nil }