@ -6,6 +6,8 @@ import (
"flag"
"fmt"
"net/http"
"os"
rt "runtime"
cortex_tripper "github.com/cortexproject/cortex/pkg/querier/queryrange"
cortex_ruler "github.com/cortexproject/cortex/pkg/ruler"
@ -13,6 +15,7 @@ import (
"github.com/cortexproject/cortex/pkg/util"
"github.com/cortexproject/cortex/pkg/util/fakeauth"
util_log "github.com/cortexproject/cortex/pkg/util/log"
"github.com/fatih/color"
"github.com/felixge/fgprof"
"github.com/go-kit/log/level"
"github.com/grafana/dskit/flagext"
@ -295,6 +298,24 @@ func (t *Loki) bindConfigEndpoint(opts RunOpts) {
t . Server . HTTP . Path ( "/config" ) . Methods ( "GET" ) . HandlerFunc ( configEndpointHandlerFn )
}
// ListTargets prints a list of available user visible targets and their
// dependencies
func ( t * Loki ) ListTargets ( ) {
green := color . New ( color . FgGreen , color . Bold )
if rt . GOOS == "windows" {
green . DisableColor ( )
}
for _ , m := range t . ModuleManager . UserVisibleModuleNames ( ) {
fmt . Fprintln ( os . Stdout , green . Sprint ( m ) )
for _ , n := range t . ModuleManager . DependenciesForModule ( m ) {
if t . ModuleManager . IsUserVisibleModule ( n ) {
fmt . Fprintln ( os . Stdout , " " , n )
}
}
}
}
// Run starts Loki running, and blocks until a Loki stops.
func ( t * Loki ) Run ( opts RunOpts ) error {
serviceMap , err := t . ModuleManager . InitModuleServices ( t . Cfg . Target ... )
@ -427,15 +448,15 @@ func (t *Loki) readyHandler(sm *services.Manager) http.HandlerFunc {
func ( t * Loki ) setupModuleManager ( ) error {
mm := modules . NewManager ( util_log . Logger )
mm . RegisterModule ( Server , t . initServer )
mm . RegisterModule ( RuntimeConfig , t . initRuntimeConfig )
mm . RegisterModule ( MemberlistKV , t . initMemberlistKV )
mm . RegisterModule ( Ring , t . initRing )
mm . RegisterModule ( Overrides , t . initOverrides )
mm . RegisterModule ( Server , t . initServer , modules . UserInvisibleModule )
mm . RegisterModule ( RuntimeConfig , t . initRuntimeConfig , modules . UserInvisibleModule )
mm . RegisterModule ( MemberlistKV , t . initMemberlistKV , modules . UserInvisibleModule )
mm . RegisterModule ( Ring , t . initRing , modules . UserInvisibleModule )
mm . RegisterModule ( Overrides , t . initOverrides , modules . UserInvisibleModule )
mm . RegisterModule ( OverridesExporter , t . initOverridesExporter )
mm . RegisterModule ( TenantConfigs , t . initTenantConfigs )
mm . RegisterModule ( TenantConfigs , t . initTenantConfigs , modules . UserInvisibleModule )
mm . RegisterModule ( Distributor , t . initDistributor )
mm . RegisterModule ( Store , t . initStore )
mm . RegisterModule ( Store , t . initStore , modules . UserInvisibleModule )
mm . RegisterModule ( Ingester , t . initIngester )
mm . RegisterModule ( Querier , t . initQuerier )
mm . RegisterModule ( IngesterQuerier , t . initIngesterQuerier )