package tidbworker

import (
	restclient "k8s.io/client-go/rest"
)

type Config struct {
	KubeConfig                       *restclient.Config
	Namespace                        string
	EnableLeaderElection             bool
	PDAddr                           []string
	DSN                              string
	EnableGcV1                       bool
	GcV1JobLimit                     int
	EnableGcV2                       bool
	GcV2JobLimit                     int
	EnableBgTask                     bool
	BatchWorkerCount                 int
	BatchJobLimit                    int
	DDLWorkerCount                   int
	DDLJobLimit                      int
	ImportIntoWorkerCount            int
	ImportIntoJobLimit               int
	EnableTTLTask                    bool
	TTLJobLimit                      int
	EnableRemoteQuery                bool
	EnableWorkerAutoScale            bool
	DisableBatchWorkerAutoScale      bool
	DisableDDLWorkerAutoScale        bool
	DisableImportIntoWorkerAutoScale bool
	MaxSharedWorkerCount             int
	MaxSharedWorkerCountPerKeyspace  int
	BgTaskNodeGroup                  string
	EnableAutoAnalyze                bool
	EnableSharedWorkerForAutoAnalyze bool
	AutoAnalyzeLimit                 int
	Security                         Security
	WorkerCertSecret                 string
	MetricBindAddr                   string
	EnableResourceManager            bool
	TestRMKeyspaces                  string
	EnableTTLResourceManager         bool
	EnableGCResourceManager          bool
	EnableGCV2ResourceManager        bool
}

type Security struct {
	Key  string
	Cert string
	CA   string
}
