diff --git a/cmd/influxd/run/server.go b/cmd/influxd/run/server.go index dc4c378a6f..d7ec3dda61 100644 --- a/cmd/influxd/run/server.go +++ b/cmd/influxd/run/server.go @@ -14,19 +14,10 @@ import ( "github.com/influxdata/influxdb/cluster" "github.com/influxdata/influxdb/models" "github.com/influxdata/influxdb/monitor" - "github.com/influxdata/influxdb/services/admin" - "github.com/influxdata/influxdb/services/collectd" - "github.com/influxdata/influxdb/services/continuous_querier" "github.com/influxdata/influxdb/services/copier" - "github.com/influxdata/influxdb/services/graphite" - "github.com/influxdata/influxdb/services/httpd" "github.com/influxdata/influxdb/services/meta" - "github.com/influxdata/influxdb/services/opentsdb" - "github.com/influxdata/influxdb/services/precreator" - "github.com/influxdata/influxdb/services/retention" "github.com/influxdata/influxdb/services/snapshotter" "github.com/influxdata/influxdb/services/subscriber" - "github.com/influxdata/influxdb/services/udp" "github.com/influxdata/influxdb/tcp" "github.com/influxdata/influxdb/tsdb" client "github.com/influxdata/usage-client/v1" @@ -211,120 +202,6 @@ func (s *Server) appendCopierService() { s.CopierService = srv } -func (s *Server) appendRetentionPolicyService(c retention.Config) { - if !c.Enabled { - return - } - srv := retention.NewService(c) - srv.MetaClient = s.MetaClient - srv.TSDBStore = s.TSDBStore - s.Services = append(s.Services, srv) -} - -func (s *Server) appendAdminService(c admin.Config) { - if !c.Enabled { - return - } - c.Version = s.buildInfo.Version - srv := admin.NewService(c) - s.Services = append(s.Services, srv) -} - -func (s *Server) appendHTTPDService(c httpd.Config) { - if !c.Enabled { - return - } - srv := httpd.NewService(c) - srv.Handler.MetaClient = s.MetaClient - srv.Handler.QueryAuthorizer = meta.NewQueryAuthorizer(s.MetaClient) - srv.Handler.QueryExecutor = s.QueryExecutor - srv.Handler.PointsWriter = s.PointsWriter - srv.Handler.Version = s.buildInfo.Version - - // If a ContinuousQuerier service has been started, attach it. - for _, srvc := range s.Services { - if cqsrvc, ok := srvc.(continuous_querier.ContinuousQuerier); ok { - srv.Handler.ContinuousQuerier = cqsrvc - } - } - - s.Services = append(s.Services, srv) -} - -func (s *Server) appendCollectdService(c collectd.Config) { - if !c.Enabled { - return - } - srv := collectd.NewService(c) - srv.MetaClient = s.MetaClient - srv.PointsWriter = s.PointsWriter - s.Services = append(s.Services, srv) -} - -func (s *Server) appendOpenTSDBService(c opentsdb.Config) error { - if !c.Enabled { - return nil - } - srv, err := opentsdb.NewService(c) - if err != nil { - return err - } - srv.PointsWriter = s.PointsWriter - srv.MetaClient = s.MetaClient - s.Services = append(s.Services, srv) - return nil -} - -func (s *Server) appendGraphiteService(c graphite.Config) error { - if !c.Enabled { - return nil - } - srv, err := graphite.NewService(c) - if err != nil { - return err - } - - srv.PointsWriter = s.PointsWriter - srv.MetaClient = s.MetaClient - srv.Monitor = s.Monitor - s.Services = append(s.Services, srv) - return nil -} - -func (s *Server) appendPrecreatorService(c precreator.Config) error { - if !c.Enabled { - return nil - } - srv, err := precreator.NewService(c) - if err != nil { - return err - } - - srv.MetaClient = s.MetaClient - s.Services = append(s.Services, srv) - return nil -} - -func (s *Server) appendUDPService(c udp.Config) { - if !c.Enabled { - return - } - srv := udp.NewService(c) - srv.PointsWriter = s.PointsWriter - srv.MetaClient = s.MetaClient - s.Services = append(s.Services, srv) -} - -func (s *Server) appendContinuousQueryService(c continuous_querier.Config) { - if !c.Enabled { - return - } - srv := continuous_querier.NewService(c) - srv.MetaClient = s.MetaClient - srv.QueryExecutor = s.QueryExecutor - s.Services = append(s.Services, srv) -} - // Err returns an error channel that multiplexes all out of band errors received from all services. func (s *Server) Err() <-chan error { return s.err } diff --git a/cmd/influxd/run/server_dataonly.go b/cmd/influxd/run/server_dataonly.go new file mode 100644 index 0000000000..2f0ff6e26a --- /dev/null +++ b/cmd/influxd/run/server_dataonly.go @@ -0,0 +1,45 @@ +// +build dataonly + +package run + +import ( + "github.com/influxdata/influxdb/services/admin" + "github.com/influxdata/influxdb/services/collectd" + "github.com/influxdata/influxdb/services/continuous_querier" + "github.com/influxdata/influxdb/services/graphite" + "github.com/influxdata/influxdb/services/httpd" + "github.com/influxdata/influxdb/services/opentsdb" + "github.com/influxdata/influxdb/services/precreator" + "github.com/influxdata/influxdb/services/retention" + "github.com/influxdata/influxdb/services/udp" +) + +func (s *Server) appendRetentionPolicyService(c retention.Config) { +} + +func (s *Server) appendAdminService(c admin.Config) { +} + +func (s *Server) appendHTTPDService(c httpd.Config) { +} + +func (s *Server) appendCollectdService(c collectd.Config) { +} + +func (s *Server) appendOpenTSDBService(c opentsdb.Config) error { + return nil +} + +func (s *Server) appendGraphiteService(c graphite.Config) error { + return nil +} + +func (s *Server) appendPrecreatorService(c precreator.Config) error { + return nil +} + +func (s *Server) appendUDPService(c udp.Config) { +} + +func (s *Server) appendContinuousQueryService(c continuous_querier.Config) { +} diff --git a/cmd/influxd/run/server_default.go b/cmd/influxd/run/server_default.go new file mode 100644 index 0000000000..38785aad9f --- /dev/null +++ b/cmd/influxd/run/server_default.go @@ -0,0 +1,130 @@ +// +build !dataonly + +package run + +import ( + "github.com/influxdata/influxdb/services/admin" + "github.com/influxdata/influxdb/services/collectd" + "github.com/influxdata/influxdb/services/continuous_querier" + "github.com/influxdata/influxdb/services/graphite" + "github.com/influxdata/influxdb/services/httpd" + "github.com/influxdata/influxdb/services/meta" + "github.com/influxdata/influxdb/services/opentsdb" + "github.com/influxdata/influxdb/services/precreator" + "github.com/influxdata/influxdb/services/retention" + "github.com/influxdata/influxdb/services/udp" +) + +func (s *Server) appendRetentionPolicyService(c retention.Config) { + if !c.Enabled { + return + } + srv := retention.NewService(c) + srv.MetaClient = s.MetaClient + srv.TSDBStore = s.TSDBStore + s.Services = append(s.Services, srv) +} + +func (s *Server) appendAdminService(c admin.Config) { + if !c.Enabled { + return + } + c.Version = s.buildInfo.Version + srv := admin.NewService(c) + s.Services = append(s.Services, srv) +} + +func (s *Server) appendHTTPDService(c httpd.Config) { + if !c.Enabled { + return + } + srv := httpd.NewService(c) + srv.Handler.MetaClient = s.MetaClient + srv.Handler.QueryAuthorizer = meta.NewQueryAuthorizer(s.MetaClient) + srv.Handler.QueryExecutor = s.QueryExecutor + srv.Handler.PointsWriter = s.PointsWriter + srv.Handler.Version = s.buildInfo.Version + + // If a ContinuousQuerier service has been started, attach it. + for _, srvc := range s.Services { + if cqsrvc, ok := srvc.(continuous_querier.ContinuousQuerier); ok { + srv.Handler.ContinuousQuerier = cqsrvc + } + } + + s.Services = append(s.Services, srv) +} + +func (s *Server) appendCollectdService(c collectd.Config) { + if !c.Enabled { + return + } + srv := collectd.NewService(c) + srv.MetaClient = s.MetaClient + srv.PointsWriter = s.PointsWriter + s.Services = append(s.Services, srv) +} + +func (s *Server) appendOpenTSDBService(c opentsdb.Config) error { + if !c.Enabled { + return nil + } + srv, err := opentsdb.NewService(c) + if err != nil { + return err + } + srv.PointsWriter = s.PointsWriter + srv.MetaClient = s.MetaClient + s.Services = append(s.Services, srv) + return nil +} + +func (s *Server) appendGraphiteService(c graphite.Config) error { + if !c.Enabled { + return nil + } + srv, err := graphite.NewService(c) + if err != nil { + return err + } + + srv.PointsWriter = s.PointsWriter + srv.MetaClient = s.MetaClient + srv.Monitor = s.Monitor + s.Services = append(s.Services, srv) + return nil +} + +func (s *Server) appendPrecreatorService(c precreator.Config) error { + if !c.Enabled { + return nil + } + srv, err := precreator.NewService(c) + if err != nil { + return err + } + + srv.MetaClient = s.MetaClient + s.Services = append(s.Services, srv) + return nil +} + +func (s *Server) appendUDPService(c udp.Config) { + if !c.Enabled { + return + } + srv := udp.NewService(c) + srv.PointsWriter = s.PointsWriter + srv.MetaClient = s.MetaClient + s.Services = append(s.Services, srv) +} + +func (s *Server) appendContinuousQueryService(c continuous_querier.Config) { + if !c.Enabled { + return + } + srv := continuous_querier.NewService(c) + srv.MetaClient = s.MetaClient + srv.QueryExecutor = s.QueryExecutor + s.Services = append(s.Services, srv) +}