// NewConfig returns an instance of Config with reasonable defaults. func NewConfig() *Config { c := &Config{} c.Meta = meta.NewConfig() c.Data = tsdb.NewConfig() c.Cluster = cluster.NewConfig() c.Precreator = precreator.NewConfig() c.Admin = admin.NewConfig() c.Monitor = monitor.NewConfig() c.Subscriber = subscriber.NewConfig() c.HTTPD = httpd.NewConfig() c.Collectd = collectd.NewConfig() c.OpenTSDB = opentsdb.NewConfig() c.ContinuousQuery = continuous_querier.NewConfig() c.Retention = retention.NewConfig() c.HintedHandoff = hh.NewConfig() c.BindAddress = DefaultBindAddress // All ARRAY attributes have to be init after toml decode // See: https://github.com/BurntSushi/toml/pull/68 // Those attributes will be initialized in Config.InitTableAttrs method // Concerned Attributes: // * `c.Graphites` // * `c.UDPs` return c }
func TestConfig_Validate_Error(t *testing.T) { c := tsdb.NewConfig() if err := c.Validate(); err == nil || err.Error() != "Data.Dir must be specified" { t.Errorf("unexpected error: %s", err) } c.Dir = "/var/lib/influxdb/data" if err := c.Validate(); err == nil || err.Error() != "Data.WALDir must be specified" { t.Errorf("unexpected error: %s", err) } c.WALDir = "/var/lib/influxdb/wal" c.Engine = "fake1" if err := c.Validate(); err == nil || err.Error() != "unrecognized engine fake1" { t.Errorf("unexpected error: %s", err) } }
// NewConfig returns an instance of Config with reasonable defaults. func NewConfig() *Config { c := &Config{} c.Meta = meta.NewConfig() c.Data = tsdb.NewConfig() c.Cluster = cluster.NewConfig() c.Precreator = precreator.NewConfig() c.Admin = admin.NewConfig() c.Monitor = monitor.NewConfig() c.Subscriber = subscriber.NewConfig() c.HTTPD = httpd.NewConfig() c.Collectd = collectd.NewConfig() c.OpenTSDB = opentsdb.NewConfig() c.ContinuousQuery = continuous_querier.NewConfig() c.Retention = retention.NewConfig() c.HintedHandoff = hh.NewConfig() c.BindAddress = DefaultBindAddress return c }
func TestConfig_Parse(t *testing.T) { // Parse configuration. c := tsdb.NewConfig() if _, err := toml.Decode(` dir = "/var/lib/influxdb/data" wal-dir = "/var/lib/influxdb/wal" `, &c); err != nil { t.Fatal(err) } if err := c.Validate(); err != nil { t.Errorf("unexpected validate error: %s", err) } if got, exp := c.Dir, "/var/lib/influxdb/data"; got != exp { t.Errorf("unexpected dir:\n\nexp=%v\n\ngot=%v\n\n", exp, got) } if got, exp := c.WALDir, "/var/lib/influxdb/wal"; got != exp { t.Errorf("unexpected wal-dir:\n\nexp=%v\n\ngot=%v\n\n", exp, got) } }
// NewConfig returns an instance of Config with reasonable defaults. func NewConfig() *Config { c := &Config{} c.Meta = meta.NewConfig() c.Data = tsdb.NewConfig() c.Coordinator = coordinator.NewConfig() c.Precreator = precreator.NewConfig() c.Admin = admin.NewConfig() c.Monitor = monitor.NewConfig() c.Subscriber = subscriber.NewConfig() c.HTTPD = httpd.NewConfig() c.GraphiteInputs = []graphite.Config{graphite.NewConfig()} c.CollectdInputs = []collectd.Config{collectd.NewConfig()} c.OpenTSDBInputs = []opentsdb.Config{opentsdb.NewConfig()} c.UDPInputs = []udp.Config{udp.NewConfig()} c.ContinuousQuery = continuous_querier.NewConfig() c.Retention = retention.NewConfig() c.BindAddress = DefaultBindAddress return c }