github.com/grafana/pyroscope@v1.18.0/tools/doc-generator/parse/root_blocks.go (about)

     1  // SPDX-License-Identifier: AGPL-3.0-only
     2  
     3  package parse
     4  
     5  import (
     6  	"reflect"
     7  
     8  	"github.com/grafana/dskit/grpcclient"
     9  	"github.com/grafana/dskit/kv/memberlist"
    10  	"github.com/grafana/dskit/server"
    11  
    12  	"github.com/grafana/pyroscope/pkg/compactor"
    13  	"github.com/grafana/pyroscope/pkg/distributor"
    14  	"github.com/grafana/pyroscope/pkg/frontend"
    15  	"github.com/grafana/pyroscope/pkg/ingester"
    16  	"github.com/grafana/pyroscope/pkg/objstore/providers/azure"
    17  	"github.com/grafana/pyroscope/pkg/objstore/providers/filesystem"
    18  	"github.com/grafana/pyroscope/pkg/objstore/providers/gcs"
    19  	"github.com/grafana/pyroscope/pkg/objstore/providers/s3"
    20  	"github.com/grafana/pyroscope/pkg/objstore/providers/swift"
    21  	"github.com/grafana/pyroscope/pkg/querier"
    22  	"github.com/grafana/pyroscope/pkg/querier/worker"
    23  	"github.com/grafana/pyroscope/pkg/scheduler"
    24  	"github.com/grafana/pyroscope/pkg/storegateway"
    25  	"github.com/grafana/pyroscope/pkg/usagestats"
    26  	"github.com/grafana/pyroscope/pkg/validation"
    27  )
    28  
    29  // RootBlocks is an ordered list of root blocks. The order is the same order that will
    30  // follow the markdown generation.
    31  var RootBlocks = []RootBlock{
    32  	{
    33  		Name:       "server",
    34  		StructType: reflect.TypeOf(server.Config{}),
    35  		Desc:       "The server block configures the HTTP and gRPC server of the launched service(s).",
    36  	},
    37  	{
    38  		Name:       "distributor",
    39  		StructType: reflect.TypeOf(distributor.Config{}),
    40  		Desc:       "The distributor block configures the distributor.",
    41  	},
    42  	{
    43  		Name:       "ingester",
    44  		StructType: reflect.TypeOf(ingester.Config{}),
    45  		Desc:       "The ingester block configures the ingester.",
    46  	},
    47  	{
    48  		Name:       "querier",
    49  		StructType: reflect.TypeOf(querier.Config{}),
    50  		Desc:       "The querier block configures the querier.",
    51  	},
    52  	{
    53  		Name:       "query_frontend",
    54  		StructType: reflect.TypeOf(frontend.Config{}),
    55  		Desc:       "The query_frontend block configures the query-frontend.",
    56  	},
    57  	{
    58  		Name:       "frontend_worker",
    59  		StructType: reflect.TypeOf(worker.Config{}),
    60  		Desc:       "The frontend_worker block configures the frontend-worker.",
    61  	},
    62  	{
    63  		Name:       "query_scheduler",
    64  		StructType: reflect.TypeOf(scheduler.Config{}),
    65  		Desc:       "The query_scheduler block configures the query-scheduler.",
    66  	},
    67  	{
    68  		Name:       "store_gateway",
    69  		StructType: reflect.TypeOf(storegateway.Config{}),
    70  		Desc:       "The store_gateway block configures the store-gateway.",
    71  	},
    72  	{
    73  		Name:       "compactor",
    74  		StructType: reflect.TypeOf(compactor.Config{}),
    75  		Desc:       "The compactor block configures the compactor.",
    76  	},
    77  	{
    78  		Name:       "grpc_client",
    79  		StructType: reflect.TypeOf(grpcclient.Config{}),
    80  		Desc:       "The grpc_client block configures the gRPC client used to communicate between two Pyroscope components.",
    81  	},
    82  	{
    83  		Name:       "memberlist",
    84  		StructType: reflect.TypeOf(memberlist.KVConfig{}),
    85  		Desc:       "The memberlist block configures the Gossip memberlist.",
    86  	},
    87  	{
    88  		Name:       "limits",
    89  		StructType: reflect.TypeOf(validation.Limits{}),
    90  		Desc:       "The limits block configures default and per-tenant limits imposed by components.",
    91  	},
    92  	{
    93  		Name:       "s3_storage_backend",
    94  		StructType: reflect.TypeOf(s3.Config{}),
    95  		Desc:       "The s3_backend block configures the connection to Amazon S3 object storage backend.",
    96  	},
    97  	{
    98  		Name:       "gcs_storage_backend",
    99  		StructType: reflect.TypeOf(gcs.Config{}),
   100  		Desc:       "The gcs_backend block configures the connection to Google Cloud Storage object storage backend.",
   101  	},
   102  	{
   103  		Name:       "azure_storage_backend",
   104  		StructType: reflect.TypeOf(azure.Config{}),
   105  		Desc:       "The azure_storage_backend block configures the connection to Azure object storage backend.",
   106  	},
   107  	{
   108  		Name:       "swift_storage_backend",
   109  		StructType: reflect.TypeOf(swift.Config{}),
   110  		Desc:       "The swift_storage_backend block configures the connection to OpenStack Object Storage (Swift) object storage backend.",
   111  	},
   112  	{
   113  		Name:       "filesystem_storage_backend",
   114  		StructType: reflect.TypeOf(filesystem.Config{}),
   115  		Desc:       "The filesystem_storage_backend block configures the usage of local file system as object storage backend.",
   116  	},
   117  	{
   118  		Name:       "analytics",
   119  		StructType: reflect.TypeOf(usagestats.Config{}),
   120  		Desc:       "The analytics block configures usage statistics collection. For more details about usage statistics, refer to [Anonymous usage statistics reporting](../anonymous-usage-statistics-reporting)",
   121  	},
   122  }