diff --git a/options/options.go b/options/options.go index 4c0e27d..ce2b706 100644 --- a/options/options.go +++ b/options/options.go @@ -205,8 +205,8 @@ func (cp *configProcessor) processAppConfigOptions(services []string) error { return nil } -// ProcessAppConfig processes snap configuration which can be used to override -// edgexfoundry configuration via environment variables sourced by the snap +// ProcessConfig processes snap configuration which can be used to override +// app configuration via environment variables sourced by the snap // service wrapper script. // A service specific file (named .env) is created in the // $SNAP_DATA/config/res directory. @@ -215,12 +215,12 @@ func (cp *configProcessor) processAppConfigOptions(services []string) error { // -> sets env var MY_ENV_VAR for an app // b) snap set edgex-snap-name config. // -> sets env variable for all apps (e.g. DEBUG=true, SERVICE_SERVERBINDADDRESS=0.0.0.0) -func ProcessAppConfig(services ...string) error { +func ProcessConfig(apps ...string) error { // uncomment to enable snap debugging // snapctl.Set("debug", "true") - if len(services) == 0 { - return fmt.Errorf("empty service list") + if len(apps) == 0 { + return fmt.Errorf("empty apps list") } appOptionsStr, err := snapctl.Get("app-options").Run() @@ -296,15 +296,15 @@ Note: Disabling app-options WILL NOT revert the migration!` log.Info("Unset all 'env.' options.") } - cp := newConfigProcessor(services) + cp := newConfigProcessor(apps) // process app-specific options - if err := cp.processGlobalConfigOptions(services); err != nil { + if err := cp.processGlobalConfigOptions(apps); err != nil { return err } // process global options - if err := cp.processAppConfigOptions(services); err != nil { + if err := cp.processAppConfigOptions(apps); err != nil { return err } @@ -313,5 +313,10 @@ Note: Disabling app-options WILL NOT revert the migration!` } return nil +} +// Deprecated +// Use ProcessConfig +func ProcessAppConfig(apps ...string) error { + return ProcessConfig(apps...) } diff --git a/options/options_test.go b/options/options_test.go index e5252df..5096dee 100644 --- a/options/options_test.go +++ b/options/options_test.go @@ -41,7 +41,7 @@ const ( appOptions = "app-options" ) -func TestProcessAppConfig(t *testing.T) { +func TestProcessConfig(t *testing.T) { // uncomment to cleanup previous mess // assert.NoError(t, snapctl.Unset("app-options", "config-enabled", "apps", "config").Run()) @@ -64,7 +64,7 @@ func TestProcessAppConfig(t *testing.T) { }) t.Run("reject empty service list", func(t *testing.T) { - require.Error(t, options.ProcessAppConfig()) + require.Error(t, options.ProcessConfig()) }) t.Run("global options", func(t *testing.T) { @@ -80,14 +80,14 @@ func TestProcessAppConfig(t *testing.T) { t.Run("reject without enabling", func(t *testing.T) { require.NoError(t, snapctl.Set(key, value).Run()) - require.Error(t, options.ProcessAppConfig(testService, testService2)) + require.Error(t, options.ProcessConfig(testService, testService2)) }) t.Run("set+unset", func(t *testing.T) { require.NoError(t, snapctl.Set(appOptions, "true").Run()) t.Cleanup(func() { require.NoError(t, snapctl.Unset("config").Run()) - require.NoError(t, options.ProcessAppConfig(testService, testService2)) + require.NoError(t, options.ProcessConfig(testService, testService2)) // disable config after processing once, otherwise the env files won't get cleaned up require.NoError(t, snapctl.Unset(appOptions).Run()) @@ -97,7 +97,7 @@ func TestProcessAppConfig(t *testing.T) { require.NoError(t, snapctl.Set(key, value).Run()) - require.NoError(t, options.ProcessAppConfig(testService, testService2)) + require.NoError(t, options.ProcessConfig(testService, testService2)) // both env files should have it require.NoError(t, fileContains(t, envFile, `X_Y="value"`), @@ -123,7 +123,7 @@ func TestProcessAppConfig(t *testing.T) { require.NoError(t, snapctl.Set(appOptions, "true").Run()) t.Cleanup(func() { require.NoError(t, snapctl.Unset("apps").Run()) - require.NoError(t, options.ProcessAppConfig(testService, testService2)) + require.NoError(t, options.ProcessConfig(testService, testService2)) // disable config after processing once, otherwise the env files won't get cleaned up require.NoError(t, snapctl.Unset(appOptions).Run()) @@ -132,7 +132,7 @@ func TestProcessAppConfig(t *testing.T) { require.NoError(t, snapctl.Set(key, value).Run()) - require.NoError(t, options.ProcessAppConfig(testService, testService2)) + require.NoError(t, options.ProcessConfig(testService, testService2)) // first env file should have it require.NoError(t, fileContains(t, envFile, `X_Y="value"`), @@ -157,7 +157,7 @@ func TestProcessAppConfig(t *testing.T) { require.NoError(t, snapctl.Set(appOptions, "true").Run()) require.NoError(t, snapctl.Set(legacyKey, legacyValue).Run()) - require.NoError(t, options.ProcessAppConfig(testService)) + require.NoError(t, options.ProcessConfig(testService)) }) t.Run("reject mixed legacy options", func(t *testing.T) { @@ -183,7 +183,7 @@ func TestProcessAppConfig(t *testing.T) { require.NoError(t, snapctl.Set(key, value).Run()) require.NoError(t, applyLegacyOptions("core-data")) - require.Error(t, options.ProcessAppConfig(testService, "core-data")) + require.Error(t, options.ProcessConfig(testService, "core-data")) }) t.Run("reject unknown app", func(t *testing.T) { @@ -197,7 +197,7 @@ func TestProcessAppConfig(t *testing.T) { require.NoError(t, snapctl.Unset("apps").Run()) }) - err := options.ProcessAppConfig(testService, "core-data") + err := options.ProcessConfig(testService, "core-data") assert.Error(t, err) require.Contains(t, err.Error(), "unsupported") @@ -211,13 +211,13 @@ func TestProcessAppConfig(t *testing.T) { t.Cleanup(func() { require.NoError(t, snapctl.Unset("apps").Run()) - require.NoError(t, options.ProcessAppConfig(app)) + require.NoError(t, options.ProcessConfig(app)) // disable config after processing once, otherwise the env files won't get cleaned up require.NoError(t, snapctl.Unset(appOptions).Run()) }) require.NoError(t, snapctl.Set(key, value).Run()) - require.NoError(t, options.ProcessAppConfig(app)) + require.NoError(t, options.ProcessConfig(app)) // env file should have the X_Y require.NoError(t, fileContains(t, envFile, `X_Y="value"`), @@ -225,7 +225,7 @@ func TestProcessAppConfig(t *testing.T) { // set something bad require.NoError(t, snapctl.Set("apps."+app+".config.dots.disallowed", value).Run()) - require.Error(t, options.ProcessAppConfig(app)) + require.Error(t, options.ProcessConfig(app)) // env file should still have the X_Y require.Error(t, fileContains(t, envFile, `DOTS_DISALLOWED="value"`),