package config

import cloudv1 "github.com/tidbcloud/infra-api/api/v1"

var (
	PreConfigKeys = map[cloudv1.ComponentType][]string{
		cloudv1.ComponentPD: {
			"dashboard.public-path-prefix",
			"replication.enable-placement-rules",
			"security.cacert-path",
			"security.cert-allowed-cn",
			"security.cert-path",
			"security.key-path",
		},
		cloudv1.ComponentTiDB: {
			"security.cluster-ssl-ca",
			"security.cluster-ssl-cert",
			"security.cluster-ssl-key",
			"security.cluster-verify-cn",
			"security.ssl-ca",
			"security.ssl-cert",
			"security.ssl-key",
			"security.enable-sem",
			"log.file.max-backups",
			"performance.tcp-keep-alive",
			"temp-dir",
			"proxy-protocol.networks",
			"proxy-protocol.fallbackable",
		},
		cloudv1.ComponentTiKV: {
			"security.ca-path",
			"security.cert-allowed-cn",
			"security.cert-path",
			"security.key-path",
			"security.encryption.data-encryption-method",
			"security.encryption.data-key-rotation-period",
			"security.encryption.master-key.key-id",
			"security.encryption.master-key.region",
			"security.encryption.master-key.type",
		},
		cloudv1.ComponentTiFlash: {
			"security.cert_allowed_cn",
			"security.ca_path",
			"security.cert_path",
			"security.key_path",
		},
		cloudv1.ComponentTiFlashLearner: {
			"security.cert-allowed-cn",
			"security.encryption.data-encryption-method",
			"security.encryption.data-key-rotation-period",
			"security.encryption.master-key.type",
			"security.encryption.master-key.key-id",
			"security.encryption.master-key.region",
			"security.ca-path",
			"security.cert-path",
			"security.key-path",
		},
		cloudv1.ComponentTiCDC: {
			"gc-ttl",
			"cluster-id",
			"data-dir",
			"log-file",
		},
		cloudv1.ComponentTiProxy: {
			"proxy.proxy-protocol",
		},
	}
)
