[#125] node: Remove redundant `env` from `config/internal`

Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
object-3606
Anton Nikiforov 2023-04-20 11:38:10 +03:00
parent 9d01029733
commit ee01275d25
4 changed files with 16 additions and 43 deletions

View File

@ -2,10 +2,10 @@ package config_test
import (
"os"
"strings"
"testing"
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config"
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/internal"
configtest "git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/test"
"github.com/stretchr/testify/require"
)
@ -35,7 +35,9 @@ func TestConfigEnv(t *testing.T) {
value = "some value"
)
err := os.Setenv(internal.Env(section, name), value)
envName := strings.ToUpper(
strings.Join([]string{config.EnvPrefix, section, name}, config.EnvSeparator))
err := os.Setenv(envName, value)
require.NoError(t, err)
c := configtest.EmptyConfig()

View File

@ -4,7 +4,6 @@ import (
"fmt"
"strings"
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/internal"
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/config"
"github.com/spf13/viper"
)
@ -24,7 +23,16 @@ type Config struct {
path []string
}
const separator = "."
const (
separator = "."
// EnvPrefix is a prefix of ENV variables related
// to storage node configuration.
EnvPrefix = "FROSTFS"
// EnvSeparator is a section separator in ENV variables.
EnvSeparator = "_"
)
// Prm groups required parameters of the Config.
type Prm struct{}
@ -37,9 +45,9 @@ type Prm struct{}
func New(_ Prm, opts ...Option) *Config {
v := viper.New()
v.SetEnvPrefix(internal.EnvPrefix)
v.SetEnvPrefix(EnvPrefix)
v.AutomaticEnv()
v.SetEnvKeyReplacer(strings.NewReplacer(separator, internal.EnvSeparator))
v.SetEnvKeyReplacer(strings.NewReplacer(separator, EnvSeparator))
o := defaultOpts()
for i := range opts {

View File

@ -1,22 +0,0 @@
package internal
import (
"strings"
)
// EnvPrefix is a prefix of ENV variables related
// to storage node configuration.
const EnvPrefix = "FROSTFS"
// EnvSeparator is a section separator in ENV variables.
const EnvSeparator = "_"
// Env returns ENV variable key for a particular config parameter.
func Env(path ...string) string {
return strings.ToUpper(
strings.Join(
append([]string{EnvPrefix}, path...),
EnvSeparator,
),
)
}

View File

@ -1,15 +0,0 @@
package internal_test
import (
"testing"
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-node/config/internal"
"github.com/stretchr/testify/require"
)
func TestEnv(t *testing.T) {
require.Equal(t,
"FROSTFS_SECTION_PARAMETER",
internal.Env("section", "parameter"),
)
}