refactor: force-set the type and inputs for a vector sink
Previously, a user could inadvertently override the type or the inputs value by specifying those in their config. Instead, we force-set these so that users do not have potentially invalid config.
This commit is contained in:
@@ -128,23 +128,9 @@ func sinkValueToConfig(appName string, sinkValue string) (vectorSink, error) {
|
|||||||
|
|
||||||
u.Scheme = strings.ReplaceAll(u.Scheme, "-", "_")
|
u.Scheme = strings.ReplaceAll(u.Scheme, "-", "_")
|
||||||
|
|
||||||
t := fmt.Sprintf("type=%s", u.Scheme)
|
|
||||||
i := fmt.Sprintf("inputs[]=docker-source:%s", appName)
|
|
||||||
if appName == "--global" {
|
|
||||||
i = "inputs[]=docker-global-source"
|
|
||||||
}
|
|
||||||
if appName == "--null" {
|
|
||||||
i = "inputs[]=docker-null-source"
|
|
||||||
}
|
|
||||||
|
|
||||||
initialQuery := fmt.Sprintf("%s&%s", t, i)
|
|
||||||
query := u.RawQuery
|
query := u.RawQuery
|
||||||
if query == "" {
|
if strings.HasPrefix(query, "&") {
|
||||||
query = initialQuery
|
query = strings.TrimPrefix(query, "&")
|
||||||
} else if strings.HasPrefix(query, "&") {
|
|
||||||
query = fmt.Sprintf("%s%s", initialQuery, query)
|
|
||||||
} else {
|
|
||||||
query = fmt.Sprintf("%s&%s", initialQuery, query)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
b, err := qson.ToJSON(query)
|
b, err := qson.ToJSON(query)
|
||||||
@@ -156,6 +142,15 @@ func sinkValueToConfig(appName string, sinkValue string) (vectorSink, error) {
|
|||||||
return data, err
|
return data, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
data["type"] = u.Scheme
|
||||||
|
data["inputs"] = []string{"docker-source:" + appName}
|
||||||
|
if appName == "--global" {
|
||||||
|
data["inputs"] = []string{"docker-global-source"}
|
||||||
|
}
|
||||||
|
if appName == "--null" {
|
||||||
|
data["inputs"] = []string{"docker-null-source"}
|
||||||
|
}
|
||||||
|
|
||||||
return data, nil
|
return data, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user