package premium

import (
	pb "github.com/tidbcloud/config-center/proto/config_center"
	"github.com/tidbcloud/config-center/templategen"
)

var specTiFlashWriteLearner = templategen.Spec{
	ConfigType: pb.SHARED_POOL_CONFIG_TIFLASH_LEARNER,
	Name:       "system template of premium tiflash write learner",
	Base: templategen.MustTOML(`
[storage]
api-version = 2
enable-ttl = true

[raftstore]
apply-pool-size = 4
store-pool-size = 4

[security]
redact-info-log = true
`),
}

var specTiFlashComputeLearner = templategen.Spec{
	ConfigType: pb.SHARED_POOL_CONFIG_TIFLASH_COMPUTE_LEARNER,
	Name:       "system template of premium tiflash compute learner",
	Base: templategen.MustTOML(`
[storage]
api-version = 2
enable-ttl = true

[security]
redact-info-log = true
`),
}

var specTiFlashCompute = templategen.Spec{
	ConfigType: pb.SHARED_POOL_CONFIG_TIFLASH_COMPUTE,
	Name:       "system template of premium tiflash compute",
	Base: templategen.MustTOML(`
[flash]
disaggregated_mode = "tiflash_compute"

[storage]
api_version = 2

[storage.main]
dir = ["/data0/db"]

[storage.remote.cache]
dir = "/data0/db/remote_cache"

[security]
redact_info_log = true
`),
}

var specTiFlashWrite = templategen.Spec{
	ConfigType: pb.SHARED_POOL_CONFIG_TIFLASH_WRITE,
	Name:       "system template of premium tiflash write",
	Base: templategen.MustTOML(`
[flash]
disaggregated_mode = "tiflash_write"

[storage]
api_version = 2

[storage.main]
dir = ["/data0/db"]

[security]
redact_info_log = true

[profiles]
[profiles.default]
dt_segment_delta_limit_rows = 160000
dt_segment_delta_limit_size = 85983232
dt_segment_force_merge_delta_size = 5368709120
dt_segment_force_split_size = 8053063680
dt_segment_limit_rows = 5000000
dt_segment_limit_size = 2684354560
dt_segment_stop_write_delta_size = 10737418240
`),
}
