fix: Revert "fix: error msg for missing env variables in config (#10681)" (#10727)

This commit is contained in:
Sebastian Spaink 2022-02-23 15:48:11 -06:00 committed by GitHub
parent 1537b75d97
commit 10cc56039a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 16 deletions

View File

@ -1026,7 +1026,6 @@ func parseConfig(contents []byte) (*ast.Table, error) {
contents = trimBOM(contents)
parameters := envVarRe.FindAllSubmatch(contents, -1)
var missingEnvVars []string
for _, parameter := range parameters {
if len(parameter) != 3 {
continue
@ -1045,21 +1044,9 @@ func parseConfig(contents []byte) (*ast.Table, error) {
if ok {
envVal = escapeEnv(envVal)
contents = bytes.Replace(contents, parameter[0], []byte(envVal), 1)
} else {
missingEnvVars = append(missingEnvVars, string(envVar))
}
}
// Report all missing environment variables to the user
if len(missingEnvVars) > 0 {
errorMsg := "environment variable(s) not set:"
for _, e := range missingEnvVars {
errorMsg += e + " "
}
return nil, fmt.Errorf(errorMsg)
}
return toml.Parse(contents)
}

View File

@ -264,15 +264,13 @@ func TestConfig_WrongFieldType(t *testing.T) {
func TestConfig_InlineTables(t *testing.T) {
// #4098
c := NewConfig()
require.NoError(t, os.Setenv("TOKEN", "test"))
require.NoError(t, c.LoadConfig("./testdata/inline_table.toml"))
require.Len(t, c.Outputs, 2)
output, ok := c.Outputs[1].Output.(*MockupOuputPlugin)
require.True(t, ok)
require.Equal(t, map[string]string{"Authorization": "Token test", "Content-Type": "application/json"}, output.Headers)
require.Equal(t, map[string]string{"Authorization": "Token $TOKEN", "Content-Type": "application/json"}, output.Headers)
require.Equal(t, []string{"org_id"}, c.Outputs[0].Config.Filter.TagInclude)
require.NoError(t, os.Unsetenv("TOKEN"))
}
func TestConfig_SliceComment(t *testing.T) {

View File

@ -1,3 +1,18 @@
# Telegraf Configuration
#
# Telegraf is entirely plugin driven. All metrics are gathered from the
# declared inputs, and sent to the declared outputs.
#
# Plugins must be declared in here to be active.
# To deactivate a plugin, comment out the name and any variables.
#
# Use 'telegraf -config telegraf.conf -test' to see what metrics a config
# file would generate.
#
# Environment variables can be used anywhere in this config file, simply surround
# them with ${}. For strings the variable must be within quotes (ie, "${STR_VAR}"),
# for numbers and booleans they should be plain (ie, ${INT_VAR}, ${BOOL_VAR})
[[inputs.memcached]]
servers = ["$MY_TEST_SERVER"]
namepass = ["metricname1", "ip_${MY_TEST_SERVER}_name"]