mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-18 18:02:24 +00:00
cmd/geth: fix flawed configuration sanity-check
This commit is contained in:
parent
df9fdbc58a
commit
4121cb4c66
2 changed files with 22 additions and 12 deletions
|
|
@ -330,6 +330,27 @@ func applyMetricConfig(ctx *cli.Context, cfg *gethConfig) {
|
|||
if ctx.IsSet(utils.MetricsInfluxDBOrganizationFlag.Name) {
|
||||
cfg.Metrics.InfluxDBOrganization = ctx.String(utils.MetricsInfluxDBOrganizationFlag.Name)
|
||||
}
|
||||
// Sanity-check the commandline flags. It is fine if some unused fields is part
|
||||
// of the toml-config, but we expect the commandline to only contain relevant
|
||||
// arguments, otherwise it indicates an error.
|
||||
var (
|
||||
enableExport = ctx.Bool(utils.MetricsEnableInfluxDBFlag.Name)
|
||||
enableExportV2 = ctx.Bool(utils.MetricsEnableInfluxDBV2Flag.Name)
|
||||
)
|
||||
if enableExport || enableExportV2 {
|
||||
v1FlagIsSet := ctx.IsSet(utils.MetricsInfluxDBUsernameFlag.Name) ||
|
||||
ctx.IsSet(utils.MetricsInfluxDBPasswordFlag.Name)
|
||||
|
||||
v2FlagIsSet := ctx.IsSet(utils.MetricsInfluxDBTokenFlag.Name) ||
|
||||
ctx.IsSet(utils.MetricsInfluxDBOrganizationFlag.Name) ||
|
||||
ctx.IsSet(utils.MetricsInfluxDBBucketFlag.Name)
|
||||
|
||||
if enableExport && v2FlagIsSet {
|
||||
utils.Fatalf("Flags --influxdb.metrics.organization, --influxdb.metrics.token, --influxdb.metrics.bucket are only available for influxdb-v2")
|
||||
} else if enableExportV2 && v1FlagIsSet {
|
||||
utils.Fatalf("Flags --influxdb.metrics.username, --influxdb.metrics.password are only available for influxdb-v1")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func setAccountManagerBackends(conf *node.Config, am *accounts.Manager, keydir string) error {
|
||||
|
|
|
|||
|
|
@ -1979,20 +1979,9 @@ func SetupMetrics(cfg *metrics.Config) {
|
|||
enableExport = cfg.EnableInfluxDB
|
||||
enableExportV2 = cfg.EnableInfluxDBV2
|
||||
)
|
||||
if enableExport && enableExportV2 {
|
||||
if cfg.EnableInfluxDB && cfg.EnableInfluxDBV2 {
|
||||
Fatalf("Flags %v can't be used at the same time", strings.Join([]string{MetricsEnableInfluxDBFlag.Name, MetricsEnableInfluxDBV2Flag.Name}, ", "))
|
||||
}
|
||||
if enableExport || enableExportV2 {
|
||||
v1FlagIsSet := cfg.InfluxDBUsername != "" || cfg.InfluxDBPassword != ""
|
||||
v2FlagIsSet := cfg.InfluxDBToken != "" || cfg.InfluxDBOrganization != "" || cfg.InfluxDBBucket != ""
|
||||
|
||||
if enableExport && v2FlagIsSet {
|
||||
Fatalf("Flags --influxdb.metrics.organization, --influxdb.metrics.token, --influxdb.metrics.bucket are only available for influxdb-v2")
|
||||
} else if enableExportV2 && v1FlagIsSet {
|
||||
Fatalf("Flags --influxdb.metrics.username, --influxdb.metrics.password are only available for influxdb-v1")
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
endpoint = cfg.InfluxDBEndpoint
|
||||
database = cfg.InfluxDBDatabase
|
||||
|
|
|
|||
Loading…
Reference in a new issue