| 905 | } |
| 906 | |
| 907 | func (t *Cortex) setupModuleManager() error { |
| 908 | mm := modules.NewManager(util_log.Logger) |
| 909 | |
| 910 | // Register all modules here. |
| 911 | // RegisterModule(name string, initFn func()(services.Service, error)) |
| 912 | mm.RegisterModule(ResourceMonitor, t.initResourceMonitor, modules.UserInvisibleModule) |
| 913 | mm.RegisterModule(Server, t.initServer, modules.UserInvisibleModule) |
| 914 | mm.RegisterModule(API, t.initAPI, modules.UserInvisibleModule) |
| 915 | mm.RegisterModule(RuntimeConfig, t.initRuntimeConfig, modules.UserInvisibleModule) |
| 916 | mm.RegisterModule(MemberlistKV, t.initMemberlistKV, modules.UserInvisibleModule) |
| 917 | mm.RegisterModule(Ring, t.initRing, modules.UserInvisibleModule) |
| 918 | mm.RegisterModule(OverridesConfig, t.initOverridesConfig, modules.UserInvisibleModule) |
| 919 | mm.RegisterModule(Overrides, t.initOverrides) |
| 920 | mm.RegisterModule(OverridesExporter, t.initOverridesExporter) |
| 921 | mm.RegisterModule(Distributor, t.initDistributor) |
| 922 | mm.RegisterModule(DistributorService, t.initDistributorService, modules.UserInvisibleModule) |
| 923 | mm.RegisterModule(GrpcClientService, t.initGrpcClientServices, modules.UserInvisibleModule) |
| 924 | mm.RegisterModule(Ingester, t.initIngester) |
| 925 | mm.RegisterModule(IngesterService, t.initIngesterService, modules.UserInvisibleModule) |
| 926 | mm.RegisterModule(Flusher, t.initFlusher) |
| 927 | mm.RegisterModule(Queryable, t.initQueryable, modules.UserInvisibleModule) |
| 928 | mm.RegisterModule(Querier, t.initQuerier) |
| 929 | mm.RegisterModule(StoreQueryable, t.initStoreQueryables, modules.UserInvisibleModule) |
| 930 | mm.RegisterModule(QueryFrontendTripperware, t.initQueryFrontendTripperware, modules.UserInvisibleModule) |
| 931 | mm.RegisterModule(QueryFrontend, t.initQueryFrontend) |
| 932 | mm.RegisterModule(RulerStorage, t.initRulerStorage, modules.UserInvisibleModule) |
| 933 | mm.RegisterModule(Ruler, t.initRuler) |
| 934 | mm.RegisterModule(Configs, t.initConfig) |
| 935 | mm.RegisterModule(AlertManager, t.initAlertManager) |
| 936 | mm.RegisterModule(Compactor, t.initCompactor) |
| 937 | mm.RegisterModule(ParquetConverter, t.initParquetConverter) |
| 938 | mm.RegisterModule(StoreGateway, t.initStoreGateway) |
| 939 | mm.RegisterModule(TenantDeletion, t.initTenantDeletionAPI, modules.UserInvisibleModule) |
| 940 | mm.RegisterModule(Purger, nil) |
| 941 | mm.RegisterModule(QueryScheduler, t.initQueryScheduler) |
| 942 | mm.RegisterModule(TenantFederation, t.initTenantFederation, modules.UserInvisibleModule) |
| 943 | mm.RegisterModule(All, nil) |
| 944 | |
| 945 | // Add dependencies |
| 946 | deps := map[string][]string{ |
| 947 | API: {Server}, |
| 948 | MemberlistKV: {API}, |
| 949 | RuntimeConfig: {API}, |
| 950 | Ring: {API, RuntimeConfig, MemberlistKV}, |
| 951 | OverridesConfig: {RuntimeConfig}, |
| 952 | Overrides: {API, OverridesConfig}, |
| 953 | OverridesExporter: {RuntimeConfig}, |
| 954 | Distributor: {DistributorService, API, GrpcClientService}, |
| 955 | DistributorService: {Ring, OverridesConfig}, |
| 956 | Ingester: {IngesterService, OverridesConfig, API}, |
| 957 | IngesterService: {OverridesConfig, RuntimeConfig, MemberlistKV, ResourceMonitor}, |
| 958 | Flusher: {OverridesConfig, API}, |
| 959 | Queryable: {OverridesConfig, DistributorService, OverridesConfig, Ring, API, StoreQueryable, MemberlistKV}, |
| 960 | Querier: {TenantFederation}, |
| 961 | StoreQueryable: {OverridesConfig, OverridesConfig, MemberlistKV, GrpcClientService}, |
| 962 | QueryFrontendTripperware: {API, OverridesConfig}, |
| 963 | QueryFrontend: {QueryFrontendTripperware}, |
| 964 | QueryScheduler: {API, OverridesConfig}, |