package v1

const (
	LabelSharedPoolKey   = TagLabelPrefix + TagLabelSharedPool
	LabelTiDBGroupKey    = TagLabelPrefix + TagLabelTiDBGroup
	LabelUserClusterKey  = TagLabelPrefix + TagLabelUserCluster
	LabelUserTenantKey   = TagLabelPrefix + TagLabelUserTenant
	LabelDataplaneKey    = TagLabelPrefix + TagLabelDataPlane
	LabelProviderKey     = "cloud.pingcap.com/provider-type"
	LabelRegionKey       = "cloud.pingcap.com/region"
	LabelUsedForKey      = TagLabelPrefix + TagLabelUsedFor
	LabelServiceTypeKey  = TagLabelPrefix + TagLabelServiceType
	LabelNodeSpecTypeKey = TagLabelPrefix + "node-spec"
	LabelVersionKey      = TagLabelPrefix + "version"
	LabelComponentKey    = "pingcap.com/component"
	LabelPingcapGroupKey = "pingcap.com/group"

	LabelUseWithLocalDisk = TagLabelPrefix + "use-with-local-disk"
	LabelUseLocalDiskSize = TagLabelPrefix + "use-local-disk-size"

	AuditLogConfigAnnotation = "tidb.auditlog.config"
	// Label of k8s node version
	K8sVersionLabelKey = "tidbcloud.com/node-pool-k8s-version"

	LabelUpdateTimeKey = "tidbcloud.com/last-update-time"

	AnnotationsComponentMinCount          = TagLabelPrefix + "node-min-count"
	AnnotationsComponentMaxCount          = TagLabelPrefix + "node-max-count"
	AnnotationsUpdateTimeDataVolumeKey    = "tidbcloud.com/last-update-time-data-volume"
	AnnotationsUpdateTimeRaftLogVolumeKey = "tidbcloud.com/last-update-time-raft-log-volume"
)

const (
	// TagLabelPrefix is a label namespace for tagging resources, all labels started under this domain will be
	// used as the resource tag if possible
	// e.g. `tags.tidbcloud.com/user-tenant: 1234` will tag all the resources belonged to the API object with `tenant: 123`
	TagLabelPrefix = "tags.tidbcloud.com/"

	TagLabelUsedFor = "used-for"

	TagLabelUserCluster = "cluster"
	TagLabelUserTenant  = "tenant"

	TagLabelSharedPool = "shared-pool"
	TagLabelTiDBGroup  = "tidb-group"

	TagLabelDataPlane = "dataplane"

	TagLabelServiceType  = "servicetype"
	ClusterNGServiceType = "tidb-next-gen"

	MultiTenantTag = "shared-multi-tenant"
)
