resource "azurerm_kubernetes_cluster" "k8s" {
  location                  = azurerm_resource_group.rg.location
  name                      = "dataplane-nightly-1-eastus"
  resource_group_name       = azurerm_resource_group.rg.name
  dns_prefix                = "dataplane-nightly-1-eastus"
  oidc_issuer_enabled       = true
  workload_identity_enabled = true
  tags = {
    tenant    = "1"
    project   = "1"
    usedby    = "dbaas-control-plane-shoot"
    component = "admin"
    cluster   = "admin"
  }

  default_node_pool {
    name                        = "control"
    temporary_name_for_rotation = "temporary"
    os_sku                      = "AzureLinux"
    vm_size                     = "Standard_DS2_v2"
    upgrade_settings {
      max_surge = "10%"
    }
    node_count = 1
  }
  network_profile {
    network_plugin    = "azure"
    load_balancer_sku = "standard"
  }
  identity {
    type = "SystemAssigned"
  }
}

# shared nodepool by instance type
# resource "azurerm_kubernetes_cluster_node_pool" "Standard_DS2_v2" {
#   name                  = "tidbnodes"
#   kubernetes_cluster_id = azurerm_kubernetes_cluster.k8s.id
#   os_sku                = "AzureLinux"
#   vm_size               = "Standard_DS2_v2"
#   # vm_size               = "Standard_F4s_v2"
#   node_count  = 1
#   zones       = ["1", "2", "3"]
#   node_labels = { "cloud.pingcap.com/node-group-type" : "data-plane" }
#   node_taints = ["dedicated=tidb-shared:NoSchedule"]
#   tags = {
#     tenant      = "1"
#     project     = "1"
#     usedby      = "customer-tidb"
#     servicetype = "dedicated"
#     environment = "dev"
#   }
#   enable_auto_scaling = true
#   min_count           = 1
#   max_count           = 10
# }

# dedicated nodepool

# resource "azurerm_kubernetes_cluster_node_pool" "pd" {
#   name                  = "pd"
#   kubernetes_cluster_id = azurerm_kubernetes_cluster.k8s.id
#   os_sku                = "AzureLinux"
#   vm_size               = "Standard_DS2_v2"
#   # vm_size               = "Standard_F4s_v2"
#   node_count  = 1
#   zones       = ["1", "2", "3"]
#   node_labels = { "dedicated" = "pd", "gardener.wg.prefix.name" = "1-pd", "tidb-component" : "pd", "tidb-namespace" : "tidb1", "tidbcloud-cluster" : "1" }
#   node_taints = ["dedicated=tidb-pd:NoSchedule"]
#   tags = {
#     tenant      = "1"
#     project     = "1"
#     usedby      = "customer-tidb"
#     component   = "pd"
#     cluster     = "1"
#     servicetype = "dedicated"
#     environment = "dev"
#   }
# }

# resource "azurerm_kubernetes_cluster_node_pool" "tidb" {
#   name                  = "tidb"
#   kubernetes_cluster_id = azurerm_kubernetes_cluster.k8s.id
#   os_sku                = "AzureLinux"
#   vm_size               = "Standard_DS2_v2"
#   # vm_size               = "Standard_F8s_v2"
#   node_count  = 1
#   zones       = ["1", "2", "3"]
#   node_labels = { "dedicated" = "tidb", "gardener.wg.prefix.name" = "1-tidb", "tidb-component" : "tidb", "tidb-namespace" : "tidb1", "tidbcloud-cluster" : "1" }
#   node_taints = ["dedicated=tidb-tidb:NoSchedule"]
#   tags = {
#     tenant      = "1"
#     project     = "1"
#     usedby      = "customer-tidb"
#     component   = "tidb"
#     cluster     = "1"
#     servicetype = "dedicated"
#     environment = "dev"
#   }
# }

# resource "azurerm_kubernetes_cluster_node_pool" "tikv" {
#   name                  = "tikv"
#   kubernetes_cluster_id = azurerm_kubernetes_cluster.k8s.id
#   os_sku                = "AzureLinux"
#   vm_size               = "Standard_DS2_v2"
#   # vm_size               = "Standard_E8s_v4"
#   node_count  = 1
#   zones       = ["1", "2", "3"]
#   node_labels = { "dedicated" = "tikv", "gardener.wg.prefix.name" = "1-tikv", "tidb-component" : "tikv", "tidb-namespace" : "tidb1", "tidbcloud-cluster" : "1" }
#   node_taints = ["dedicated=tidb-tikv:NoSchedule"]
#   tags = {
#     tenant      = "1"
#     project     = "1"
#     usedby      = "customer-tidb"
#     component   = "tikv"
#     cluster     = "1"
#     servicetype = "dedicated"
#     environment = "dev"
#   }
# }
