encryptionsalt: v1:gF5orucaNGg=:v1:2NwbVvL+mer7DIpA:YtV3VLVMY2ofW3s6bcXsUqpDwFxA3g==
config:
  aws:region: us-east-1
  eks-freetier:auth0Audience: staging-proxy-service
  eks-freetier:auth0Domain: tidb-staging.us.auth0.com
  eks-freetier:cidrBlock: 10.0.0.0/16
  eks-freetier:dbaas-proxy-image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/dbaas/dev/cluster-proxy:e3522e081c030090295c93dba18d969628a86bd3
  eks-freetier:base-k8s-outbounds-cidrs:
    - "44.232.56.92/32"
    - "44.234.235.72/32"
    - "34.208.168.149/32"
  eks-freetier:env: staging
  eks-freetier:regional-infra: true
  eks-freetier:k8s-version: "1.34"
  eks-freetier:ca-image: "385595570414.dkr.ecr.us-east-1.amazonaws.com/dbaas/nightly/cluster-autoscaler"
  eks-freetier:ca-version: "0241dd5d0aa8fad250d24c8b822b206e406b289b"
  eks-freetier:eks-releases:
    31v250627:
      ami:
        amd64: ami-035bd60e3bd55b04f # amazon-eks-node-1.31-v20250627
        arm64: ami-01d2a1fc84faf11d9 # amazon-eks-arm64-node-1.v20250627
      releaseVersion: 1.31.7-20250627
    32v251029:
      ami:
        amd64: ami-00d6ca2043cc95524 # amazon-eks-node-1.32-v20251029
        arm64: ami-056b91dbad36d1862 # amazon-eks-arm64-node-1.32-v20251029
      releaseVersion: 1.32.9-20251029
    34v260403:
      ami:
        amd64: ami-00b16894e17387eb9 # amazon-eks-node-al2023-x86_64-standard-1.34-v20260403
        arm64: ami-062a4497da21ea024 # amazon-eks-node-al2023-arm64-standard-1.34-v20260403
      releaseVersion: 1.34.4-20260403
    # First release at or past nofileFixMinAmiDate (asg.ts), so node groups on this
    # tag get a launch template that raises the container RLIMIT_NOFILE back to the
    # AL2 value. Defined but not referenced yet: nothing moves until a nodegroup
    # entry points at it, and moving one builds a new node group rather than
    # rolling the existing 34v260403 nodes.
    34v260724:
      ami:
        amd64: ami-0633307dfd7b3bf90 # amazon-eks-node-al2023-x86_64-standard-1.34-v20260724
        arm64: ami-0b3fc977dde3e8410 # amazon-eks-node-al2023-arm64-standard-1.34-v20260724
      releaseVersion: 1.34.9-20260724
  eks-freetier:ca-releaseTag: "31v250627"
  eks-freetier:ca-costOptimization: true
  eks-freetier:public-access-cidrs:
    - 0.0.0.0/0
  eks-freetier:public-hosted-zone-domain: shared.aws.tidbcloud.com
  eks-freetier:public-hosted-zone-id: Z329W86VRKILYT
  eks-freetier:region: us-east-1
  eks-freetier:primary-zone: us-east-1a
  eks-freetier:standby-zone: us-east-1c
  eks-freetier:witness-zone: us-east-1b
  eks-freetier:suffix: f01
  eks-freetier:index: "01"
  eks-freetier:tidb-operator-tag: 0fb87a36bae24906731a8ad9e8b6b68820c30d12
  eks-freetier:tidb-operator-image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/serverless/tidb-operator
  eks-freetier:downThreshold: 0.5
  eks-freetier:pca-arn: arn:aws:acm-pca:us-west-2:385595570414:certificate-authority/4668d5cc-1042-4371-9ff4-72ab9493c545
  eks-freetier:pca-region: us-west-2
  eks-freetier:serverless-cse-master-key-id: "alias/staging-us-east-1-f01-key"
  eks-freetier:serverless-cse-master-key-cipher-text: "AQIDAHiU+3/OzBWv7SomgBaC6VlkgG9T42KSoPzKMODjGVohAAFly8u9YVOEZZtnoxM4gcwxAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMDrhEOdZVMhVS/fewAgEQgDscChETIN36BtP2HFCVnXrAd5YlXxNIwVRGxOFD3dML0y3VinP1uUC5xXwZnXpf62FSezQL15m/MBLCVA=="
  eks-freetier:serverless-cse-master-key-vendor: "aws"
  eks-freetier:serverless-tikv-config:
    walSyncDir: "/var/lib/tikv-raft-wal"
    enableSafePointV2: true
    disableSafePointFallBackV1: true
    pushMetricsAddr: "http://serverless-metering.serverless-metering:9091"
    pushMetricsInterval: 30
    buildColumnar: true
    buildFtsIndex: true
    cdc: true
    storageVolumes:
      - storageClassName: "ebs-sc"
        storageSize: "5Gi"
        name: "raft-wal"
      - storageClassName: "ebs-sc"
        storageSize: "30Gi"
        name: "raft-db"
    blacklist:
      enableRollingUpdate: false
      keyspaceNames: ["3NT9rXiQdrdGT6N", "3aZVdY1sqWdZub7"]
      regionIDs: [999999999999]
    failoverReplicasPerFailureStore: 2
    canaryUpgrade:
      enabled: true
      clusterReadySeconds: 900
      stageReadySeconds: 300
      stagePercents: [10, 67, 100]
    autoScaling:
      enabled: true
      paused: false
      maxReplicas: 9
      cpu:
        maxThreshold: 0.7
        minThreshold: 0.3
        scaleInIntervalSeconds: 900
        scaleOutIntervalSeconds: 600
      storage:
        maxThreshold: 0.8
        minThreshold: 0.6
        scaleInIntervalSeconds: 500
        scaleOutIntervalSeconds: 1
    scaleInProtection:
      enabled: false
      storageThreshold: 0.8
      minReplicas: 1
    storeLimit:
      enabled: true
      unbalanceThreshold: 0.7
      normalRate: 64
      scalingInRate: 128
      scalingOutRate: 128
    hotCluster:
      enabled: false
      scaleToZero: true
      initialReplicas: 1
      cpuThreshold: 0.5
      hotDurationSeconds: 120
      hotRegionSeconds: 180
      coldRegionSeconds: 480
      autoScaling:
        cpu:
          maxThreshold: 0.6
          minThreshold: 0.4
          scaleInIntervalSeconds: 600
          scaleOutIntervalSeconds: 180
    worker:
      replicas:
        min: 1
        max: 3
    copWorker:
      replicas:
        min: 1
        max: 3
      resources:
        limits:
          cpu: 2000m
          memory: 15Gi
        requests:
          cpu: 1300m
          memory: 10Gi
          storage: 100Gi
    tikvApi:
      releaseTag: "32v251029"
      sharedPoolEnabled: true
    schemaManager:
      replicas: 1
      refreshThreshold: 1048576
    replicationWorker:
      releaseTag: "32v251029"
      replicas: 1
    runtimeConfig:
      - name: memoryLimit
        value: "Math.max(Math.round(${memory} * 0.8), ${memory} - 8) + 'Gi'"
      - name: storageSize
        value: "'10Gi'" # "Math.max(Math.round(${instanceStorage} * 0.9), ${instanceStorage} - 100) + 'Gi'"
  eks-freetier:serverless-cse-archive-config:
    suspend: false
  eks-freetier:serverless-cse-dfsgc-config:
    suspend: false
  eks-freetier:serverless-cop-worker-cache-size: 5GB
  eks-freetier:serverless-cop-worker-stateful-cache-size: 3GB
  eks-freetier:serverless-cop-worker-block-cache-size: 3GB
  eks-freetier:serverless-namespace: tidb-serverless
  eks-freetier:etcd:
    # admin etcd on the smallest critical tier (guaranteed-large). Exclusivity is
    # scheduling-only via criticalTier (critical-app anti-affinity, one replica
    # per node); no resource packing. releaseTag moves with the tier:
    # guaranteed-large only exists on 34v260403.
    releaseTag: "34v260403"
    criticalTier: "large"
  eks-freetier:pd-cluster:
    pdBaseImage: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/serverless/pd
    pdMode: api
    pdServerImageTag: 20260819-a36a76b2c0036003d2ce614aca02dbab0ec216ae
    pdServerStorageSize: "50Gi"
    enableResourceManagerProxy: true
    enablePdServerRequestUnit: true
    enableGrpcClientMetrics: true
    # PD + pd-tso (+ keyspace-etcd) on guaranteed-xl;
    # sche / resource-manager stay unpinned. Same tier shares one nodegroup label;
    # critical-app anti-affinity isolates every criticalTier replica onto its own
    # node (including same-app peers) — no resource packing required.
    # releaseTag is a serverless.tidbcloud.com/kubelet-version nodeSelector and must
    # move with the tier or the two selectors ANDed match no node.
    apiServerReleaseTag: "34v260403"
    pdCriticalTier: "xl"
    tsoServerReleaseTag: "34v260403"
    tsoServerCriticalTier: "xl"
    tsoServerImageTag: 20260819-a36a76b2c0036003d2ce614aca02dbab0ec216ae
    tsoServerReplicas: 2
    tsoServerConfigMap: pd-tso-server-config
    tsoServerLease: 10
    tsoServerMinReadySeconds: 30
    scheServerImageTag: 20260819-a36a76b2c0036003d2ce614aca02dbab0ec216ae
    scheServerReplicas: 2
    scheServerMinReadySeconds: 30
    scheServerResourcesRequirements:
      limits:
        cpu: "1"
        memory: 2Gi
      requests:
        cpu: "100m"
        memory: 256Mi
    resourceManagerServerImageTag: 20260819-a36a76b2c0036003d2ce614aca02dbab0ec216ae
    resourceManagerServerReplicas: 2
    resourceManagerServerMinReadySeconds: 30
    resourceManagerServerResourcesRequirements:
      limits:
        cpu: "1"
        memory: 2Gi
      requests:
        cpu: "100m"
        memory: 256Mi
  eks-freetier:serverless-tikv-base-image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/serverless/tikv
  eks-freetier:serverless-tikv-version: v26.3.11
  eks-freetier:serverless-tikv-worker-version: v26.3.11
  eks-freetier:serverless-rep-pd-base-image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/pd
  eks-freetier:serverless-rep-cdc-base-image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/ticdc
  eks-freetier:serverless-tidb-base-image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/serverless/tidb
  eks-freetier:serverless-tidb-version: 20260317-08575a5655e941f9ccd9db6e6e7c1af7d2034904
  eks-freetier:general-guaranteed-fleet:
    - tier: "standard"
      name: "guaranteed"
      releaseTag: "31v250627"
      instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m8g.xlarge"]
      max: 10
      primary:
        instanceTypes: ["m6g.2xlarge", "m7g.2xlarge", "m6a.2xlarge", "m8g.2xlarge"]
        min: 0
      standby: # development doesn't require high availability during primary AZ failover.
        min: 0
      witness:
        min: 0
    - tier: "standard"
      name: "guaranteed-xl" # critical-exclusive tier menu entry (spec 4.1); xlarge in every zone, no primary override
      # 34v260403 (k8s 1.34 / AL2023), NOT the 31v250627 the older entries still carry:
      # this cluster's control plane is 1.34, and EKS rejects CreateNodegroup with an
      # AL2 AMI type ("only supported for kubernetes versions 1.32 or earlier"). The old
      # entries survive because they were created back when the cluster was on 1.31.
      releaseTag: "34v260403"
      instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m8g.xlarge"]
      max: 10
      # min 1 per zone seeds CA; PD / pd-tso / keyspace-etcd share this nodegroup
      # (criticalTier xl) and are isolated one-replica-per-node by critical-app anti-affinity.
      primary:
        min: 1
      standby:
        min: 1
      witness:
        min: 1
    # 34v260724 twin of guaranteed-xl above: same name, so it carries the same
    # nodegroup label and can serve the same pods, but on the first release at or past
    # nofileFixMinAmiDate (asg.ts). Its nodes get the launch template that restores the
    # container RLIMIT_NOFILE to the AL2 value; the 34v260403 nodes stay at the AL2023
    # default of 65536 and are not touched, because the node group name embeds the
    # releaseTag and this is therefore a separate node group.
    #
    # min 0 in every zone: nothing lands here until a pod asks for
    # serverless.tidbcloud.com/kubelet-version=1.34.9-20260724, so it costs nothing
    # while guaranteed-xl keeps serving off 34v260403. Raising min and draining the
    # old pool is a follow-up.
    - tier: "standard"
      name: "guaranteed-xl"
      releaseTag: "34v260724"
      instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m8g.xlarge"]
      max: 10
      primary:
        min: 0
      standby:
        min: 0
      witness:
        min: 0
    # critical-services tier menu entry for smaller exclusive workloads (admin etcd).
    # Same AL2023/1.34 release as guaranteed-xl; min 1 so etcd avoids scale-from-zero.
    - tier: "standard"
      name: "guaranteed-large"
      releaseTag: "34v260403"
      instanceTypes: ["m6g.large", "m7g.large", "m8g.large", "m6a.large"]
      max: 10
      primary:
        min: 1
      standby:
        min: 1
      witness:
        min: 1
  eks-freetier:general-guaranteed-nodegroup:
    category: "control-plane"
    component: "critical-services"
    min: 0
    zones: ["primary", "standby", "witness"]
  eks-freetier:memory-burstable-fleet:
    - tier: "standard"
      name: "memory-burstable"
      releaseTag: "31v250627"
      primary:
        min: 0
      standby:
        min: 0
      spot:
        max: 20
      onDemand:
        max: 20
  eks-freetier:memory-burstable-nodegroup:
    category: "control-plane"
    component: "burstable"
    min: 0
    instanceTypes: ["r6g.xlarge", "r7g.xlarge", "r6a.xlarge", "r8g.xlarge"]
    capacityType: "MIXED"
    mixedAsgOptions:
      alternativeAutoReplace: true
      alternativeParallelScaleUp: true
      alternativeScaleUpWait: "60s"
  eks-freetier:tidb-fleet:
    - tier: "standard"
      name: "tidb-x2xl"
      releaseTag: "31v250627"
      capacityType: "MIXED"
      mixedAsgOptions:
        alternativeAutoReplace: true
        alternativeParallelScaleUp: true
        alternativeScaleUpWait: "60s"
      spot:
        name: "tidb-x2xl"
        instanceTypes: ["m7g.xlarge", "m6g.xlarge", "m6a.xlarge"]
        max: 20
        labels:
          nodedrainer.tidbcloud.com/capacityType: "SPOT"
      onDemand:
        name: "tidb-od-x2xl"
        instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m7a.xlarge", "m6i.xlarge", "m7i.xlarge"]
        max: 10
        labels:
          nodedrainer.tidbcloud.com/capacityType: "ON_DEMAND"
    - tier: "standard"
      name: "tidb-x4xl"
      releaseTag: "31v250627"
      capacityType: "MIXED"
      mixedAsgOptions:
        alternativeAutoReplace: true
        alternativeParallelScaleUp: true
        alternativeScaleUpWait: "60s"
      spot:
        name: "tidb-x4xl"
        instanceTypes: ["m7g.xlarge", "m6g.xlarge", "m6a.xlarge"]
        max: 20
        labels:
          nodedrainer.tidbcloud.com/capacityType: "SPOT"
      onDemand:
        name: "tidb-od-x4xl"
        instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m7a.xlarge", "m6i.xlarge", "m7i.xlarge"]
        max: 10
        labels:
          nodedrainer.tidbcloud.com/capacityType: "ON_DEMAND"
    - tier: "standard"
      name: "tidb-vip-x4xl"
      releaseTag: "32v251029"
      capacityType: "ON_DEMAND"
      instanceTypes: [ "m6g.4xlarge", "m7g.4xlarge", "m6a.4xlarge", "m6i.4xlarge", "m7i.4xlarge" ]
      awsUserData:
        maxPods: 200
      rootVolumeSize: 50
      primary:
        min: 0
      standby:
        min: 0
      max: 100
    - tier: "standard"
      name: "tidb-xl"
      releaseTag: "34v260403"
      capacityType: "MIXED"
      mixedAsgOptions:
        alternativeAutoReplace: true
        alternativeParallelScaleUp: true
        alternativeScaleUpWait: "60s"
      spot:
        name: "tidb-xl"
        instanceTypes: ["m8g.xlarge"]
        max: 1
        labels:
          nodedrainer.tidbcloud.com/capacityType: "SPOT"
      onDemand:
        name: "tidb-od-xl"
        instanceTypes: ["m8g.xlarge"]
        max: 1
        labels:
          nodedrainer.tidbcloud.com/capacityType: "ON_DEMAND"
  eks-freetier:tidb-nodegroup:
    category: "compute"
    component: "tidb"
    min: 0
  eks-freetier:tmp-worker-fleet:
    - tier: "standard"
      name: "tmp-worker-x4xl"
      releaseTag: "31v250627"
      instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m5a.xlarge"]
  eks-freetier:tmp-worker-nodegroup:
    category: "control-plane"
    component: "tmp-worker"
    capacityType: "SPOT"
    min: 0
    max: 10
  eks-freetier:dedicated-fleet:
    - tier: "standard"
      name: "dedicated-x12xl"
      releaseTag: "31v250627"
      instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m8g.xlarge"]
      labels:
        dedicated-node-cpu-num: "48"
    - tier: "standard"
      name: "dedicated-x16xl"
      releaseTag: "31v250627"
      instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m8g.xlarge"]
      labels:
        dedicated-node-cpu-num: "64"
    - tier: "standard"
      name: "dedicated-x24xl"
      releaseTag: "31v250627"
      instanceTypes: ["m6a.xlarge", "m7a.xlarge", "m8g.xlarge"]
      labels:
        dedicated-node-cpu-num: "96"
    - tier: "standard"
      name: "dedicated-x32xl"
      releaseTag: "31v250627"
      instanceTypes: ["m6a.xlarge", "m7a.xlarge"]
      labels:
        dedicated-node-cpu-num: "128"
    - tier: "standard"
      name: "dedicated-x48xl"
      releaseTag: "31v250627"
      instanceTypes: ["m6a.xlarge", "m7a.xlarge", "m8g.xlarge"]
      labels:
        dedicated-node-cpu-num: "192"
  eks-freetier:dedicated-nodegroup:
    category: "control-plane"
    component: "dedicated"
    capacityType: "ON_DEMAND"
    min: 0
    max: 10
  eks-freetier:import-super-vip-fleet:
    - tier: "standard"
      name: "import-super-vip-x12xl"
      releaseTag: "31v250627"
      instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge"]
  eks-freetier:import-super-vip-nodegroup:
    category: "control-plane"
    component: "import-super-vip"
    min: 0
    max: 10
  eks-freetier:export-vip-tidb-fleet:
    - tier: "standard"
      name: "export-vip-tidb-x2xl"
      releaseTag: "31v250627"
      instanceTypes: ["r6g.2xlarge", "r7g.2xlarge", "r8g.2xlarge", "r6a.2xlarge", "r6i.2xlarge"]
  eks-freetier:export-vip-tidb-nodegroup:
    category: "control-plane"
    component: "export-vip-tidb"
    capacityType: "ON_DEMAND"
    min: 0
    max: 10
  eks-freetier:export-super-vip-fleet:
    - tier: "standard"
      name: "export-super-vip-x8xl"
      releaseTag: "31v250627"
      instanceTypes: ["c6g.xlarge", "c7g.xlarge", "c8g.xlarge", "c6a.xlarge", "c6i.xlarge"]
  eks-freetier:export-super-vip-nodegroup:
    category: "control-plane"
    component: "export-super-vip"
    capacityType: "ON_DEMAND"
    min: 0
    max: 10
  eks-freetier:import-pool-fleet:
    - tier: "standard"
      releaseTag: "31v250627"
      name: "import-pool"
      instanceTypes: ["r6g.2xlarge", "r7g.2xlarge", "r5a.2xlarge", "r6a.2xlarge", "r8g.2xlarge"]
  eks-freetier:import-pool-nodegroup:
    category: "control-plane"
    component: "import-pool"
    min: 0
    max: 10
  eks-freetier:export-super-vip-tidb-fleet:
    - tier: "standard"
      name: "export-super-vip-tidb-x8xl"
      releaseTag: "31v250627"
      instanceTypes: ["r6g.xlarge", "r7g.xlarge", "r8g.xlarge", "r6a.xlarge", "r6i.xlarge"]
  eks-freetier:export-super-vip-tidb-nodegroup:
    category: "control-plane"
    component: "export-super-vip-tidb"
    capacityType: "ON_DEMAND"
    min: 0
    max: 10
  eks-freetier:adhoc-fleet:
    - tier: "standard"
      name: "adhoc-r2x"
      releaseTag: "32v251029"
      instanceTypes: ["r6g.2xlarge", "r7g.2xlarge", "r8g.2xlarge", "r6a.2xlarge", "r6i.2xlarge"]
      labels:
        adhoc-cpu: "8"
        adhoc-memory: "64"
      capacityType: "MIXED"
      mixedAsgOptions:
        alternativeAutoReplace: true
        alternativeParallelScaleUp: true
        alternativeScaleUpWait: "60s"
    - tier: "standard"
      name: "adhoc-r8x"
      releaseTag: "32v251029"
      instanceTypes: ["r6g.xlarge", "r7g.xlarge", "r8g.xlarge", "r6a.xlarge", "r6i.xlarge"]
      labels:
        adhoc-cpu: "32"
        adhoc-memory: "256"
      capacityType: "MIXED"
      mixedAsgOptions:
        alternativeAutoReplace: true
        alternativeParallelScaleUp: true
        alternativeScaleUpWait: "60s"
    - tier: "standard"
      name: "adhoc-m4x"
      releaseTag: "34v260403"
      instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m5a.xlarge"]
      labels:
        adhoc-cpu: "16"
        adhoc-memory: "64"
      capacityType: "MIXED"
      mixedAsgOptions:
        alternativeAutoReplace: true
        alternativeParallelScaleUp: true
        alternativeScaleUpWait: "60s"
    - tier: "standard"
      name: "adhoc-m8x"
      releaseTag: "32v251029"
      instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m5a.xlarge"]
      labels:
        adhoc-cpu: "32"
        adhoc-memory: "128"
      capacityType: "MIXED"
      mixedAsgOptions:
        alternativeAutoReplace: true
        alternativeParallelScaleUp: true
        alternativeScaleUpWait: "60s"
    - tier: "standard"
      name: "adhoc-m16x"
      releaseTag: "32v251029"
      instanceTypes: ["m6g.xlarge", "m7g.xlarge", "m6a.xlarge", "m8g.xlarge"]
      labels:
        adhoc-cpu: "64"
        adhoc-memory: "256"
      capacityType: "MIXED"
      mixedAsgOptions:
        alternativeAutoReplace: true
        alternativeParallelScaleUp: true
        alternativeScaleUpWait: "60s"
  eks-freetier:adhoc-nodegroup:
    category: "control-plane"
    component: "adhoc"
    capacityType: "ON_DEMAND"
    min: 0
    max: 10
  eks-freetier:tiflash-cn-fleet:
    - tier: "standard"
      name: "tiflash-cn-mxxl"
      releaseTag: "31v250627"
      instanceTypes: ["m6i.2xlarge", "m7i.2xlarge", "m7a.2xlarge"]
  eks-freetier:tiflash-cn-nodegroup:
    category: "compute"
    component: "tiflash-cn"
    capacityType: "SPOT"
    min: 0
    max: 50
    exclusive: false
    labels:
      tiflash.used-for-compute: "true"
    taints:
      tiflash.used-for-compute: "true"
  eks-freetier:default-fleet:
    - tier: "standard"
      name: "default-burstable"
      releaseTag: "31v250627"
      instanceTypes: ["t4g.2xlarge", "m6g.2xlarge", "m7g.2xlarge", "m6a.2xlarge", "m8g.2xlarge"]
      primary:
        min: 0
      standby:
        min: 0
  eks-freetier:default-nodegroup:
    category: "control-plane"
    component: "general"
    min: 0
    max: 50
    exclusive: false
  eks-freetier:tiflash-columnar-readnode-config:
    releaseTag: "31v250627"
    image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/tiflash:v26.3.10-nextgen
    storageClassName: "ebs-sc"
    resourcePool: "burstable"
    podSpec:
      replicas:
        min: 1
        max: 1
      resources:
        limits:
          cpu: 8000m
          memory: 8Gi
        requests:
          cpu: 100m
          memory: 2Gi
          storage: 10Gi
  eks-freetier:ssd-provisioner-image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/dbaas/serverless/eks-nvme-ssd-provisioner:202304282235
  eks-freetier:datacleaner:
    image: 385595570414.dkr.ecr.us-east-1.amazonaws.com/dbaas/aws-shared-provider-datacleaner:e9cab053981cb856ae435d2f01a6807482593505
    ops: dump_archive_ks,dump_pd_rules,dump_region_labels,archive_ks,archive_pd_rules,archive_region_labels,archive_etcd_path,keyspace2tombstone
    skipConfirm: -skip-confirm
    realRun: -isrun
    delay: 10m
  eks-freetier:o11y-infra:
    version: "1"
    auth0:
      audience: https://tidb-soc2.us.auth0.com/api/v2/
      clientId:
        secure: v1:3Hl8eAhn+flP1EFr:aLb1+Ac2OfC6yDq9P3TuAqRdCZvppYQ4g5M/bmlZ5M3ak6xPbdjHZPt/JdhWkiRI
      clientSecret:
        secure: v1:aiYY2w8YGD2GduP5:N7d9RrZuIRAMHRTDfqXCFlYq4pVrFJkpcybKHYyc82TOLB/7peYc3qJLEq24rxhuYv0dT79MAlfFizwAE5NGSE13FUjIfSdlbVMhehOE3Iw=
      getTokenUrl: https://tidb-soc2.us.auth0.com/oauth/token
    createO11yInfraPath: /api/v1/clusters
    deleteO11yInfraPath: /api/v1/clusters
    getO11yInfraPath: /api/v1/clusters
    openApiAddress: https://www.gs.us-west-2.aws.observability.tidbcloud.com
    roleArnPrefix: "arn:aws:iam::557537366020:role/*"
    globalShardCount: 2
    serverlessShardCount: 2
    enableAgentController: true
    namespaceImportId: observability
    newInfraStage: done
  eks-freetier:serverless-cluster:
    tikv:
      - instanceType: "r8g.2xlarge"
        releaseTag: "34v260403"
        tier: "hot"
        replicas: 0
        storageClassName: "gp3-500"
        storageSize: "500Gi"
      # Primary: supersede mixed xlarge family -> r8g.xlarge only.
      - instanceType: "r8g.xlarge"
        releaseTag: "34v260403"
        tier: "standard"
        replicas: 3
        storageClassName: "gp3-500"
        storageSize: "500Gi"
        hotCluster:
          instanceType: "r8g.2xlarge"
          releaseTag: "34v260403"
        superseding:
          instanceType: "r7g.xlarge"
          releaseTag: "34v260403"
      # Standby/witness: large placeholder + 100Gi ebs (migrated off r8g.xlarge/1Ti).
      # TiKV k8s deploy requires >= 50Gi capacity.
      - instanceType: "m8g.large"
        releaseTag: "34v260403"
        tier: "standard"
        zoneTypes: ["standby", "witness"]
        replicas: 2
        storageClassName: "ebs-sc"
        storageSize: "100Gi"
  eks-freetier:probe-serverless-dsn:
    secure: v1:bPIRXB4kcdiwejJn:cdjnHuVqFd4/6trRPZZcBb/SoF0tD4lpuaJAmFb15kERur5ylhEmqj/XkQKuTcmJHzAFljezSZaOPVxZBo/bilGYkwfx90Eo47jfaoKhrhyqCfzZJ5yDJbvMTZN5L9jWXIYHgS9XzHrds9yHsKEYCL++bOnDObHPoDXY0nqKiqqVdp+btWPcKPVNlVEX/vYsE0h4nUMAlo2IjrNDm+mDH4697e6xXUwT1t9Ay+Wt3qOSdrcg6ryPqHZu/XZ4r01tgegpgyGBi+MrnEZ2yWpRx4xjkwRTo+twv0/FUN7FRulYumlSvyYQixzVUfPDhx5auYm4jT4RTqH4v0AF3YjKAjW7mJOP7iY8hemUnfczHzj+sWiZKKhDNAdp7M5+XPPd2tbfnNdoaJIKVPX04sdNL46flfzHGFGvOgKMju8DbkiJcLLvmWYqYvSaDlhEPWu5iEU+4zyqvRAcCwAWGC9PMOVRuV3F4UzuLJ0VJrnAaFdayAAXdPrO+75ZsRSEXNg0J6D9zmpRo9gZZy9A9j4mABuJVvjXs9xZTIvxveD9zDt0XLvZWpXm/hqSVM7ZhO3SOYQ7MxZDJz9fdaOJ5AWmq8Q12pgehOZ58RRyziqVAdBO0YZG3ekTVKZfag7195fQ72ob6dmaGxwhRz/N8kUtyZjhMX8qnCnzlmCFlOq5gZEr/kj0aZz/yQDZVp3ZEvn57GnrSwylIf/nFdc5T3u8IU+H1JNZNUudjIwCHjEw9hOOr2HS6aJiqRBSUbaMUtV3R+dqlhBaqCAmGOAmtj0zXo/FZQ==
  eks-freetier:ai-gateway:
    image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/serverless/qdrant-on-tidb:25441d2619a24e2a11d69dcb70a088c87d094eb4
    qdrantImage: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/serverless/qdrant-staging-us-east-1:1.13.3
    replicas: 1
    logLevel: debug
  eks-freetier:ai-gateway-password:
    secure: v1:Hhis1PoRIcoVsKW9:pMGWBHOaXPBBSvbldwIJIEyNHskLDUExO4KiW4R1LY0=
  eks-freetier:ai-gateway-username:
    secure: v1:sCnoqFH35WhdsuEN:1bNOncwiUhhoasS9zWSCy9miD5/S4KyBfoxau414kcgQeP9V
  eks-freetier:fts-server:
    image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/serverless/qdrant-on-tidb:2ee48129c34611c6fbbfa4ea9462cbbe8fc624d5
    replicas: 1
    logLevel: debug
    jwtHost: inner-central.staging.tidbcloud.com
    jwtOrgId: "1369847559692509600"
    jwtClusterId: "10292707463350852086"
    feishuNotice: "false"
  eks-freetier:fts-feishu-webhook-secret:
    secure: v1:tZ091wNUao4y3IGg:Bq1HXurlD5w3p8hwgS0dnl8Mhe4VHG4o3AhR8HBqC8sK/q/uMg==
  eks-freetier:fts-jwt-auth-token:
    secure: v1:e+7vJG/6ivBk8cyZ:Ir6oCKojdgvrYvDbm31NkSVEI6BRI5Tmi9TOcy+Muqgb4rOOK3sQ7o++wQlUjoL5W3j/JIEUodzvz79xY9IYEoNaLL1F0LS/S3j0AyvW/4Qal7f7
  eks-freetier:loggers:
    asg: debug
    o11y: info
    serverless: debug
    istio: info
  eks-freetier:keyspace-etcd-group-count: 1
  eks-freetier:keyspace-etcd-group-spec:
    # Same guaranteed-xl nodegroup as PD/pd-tso; exclusivity via criticalTier
    # (critical-app anti-affinity), no resource packing.
    criticalTier: "xl"
    releaseTag: "34v260403"
  eks-freetier:rdsInstances:
    serverless: # used by audit-log
      instanceClass: "db.t4g.micro"
      databaseName: "serverless_rds"
      username: "serverless_rds"
      backupRetentionPeriod: 2
    serverless-infra: # used by serverless-infra
      instanceClass: "db.t4g.micro"
      databaseName: "serverless_infra"
      username: "serverless_infra"
      backupRetentionPeriod: 2
      allocatedStorage: 100
  eks-freetier:addon-compatible-k8s-version: "1.32"
  eks-freetier:serverless-dm-config:
    baseImage: 385595570414.dkr.ecr.us-west-2.amazonaws.com/tidbcloud/dm
    version: v26.3.0-nextgen
    master:
      requests:
        cpu: "100m"
        memory: "256Mi"
      limits:
        cpu: "1000m"
        memory: "1Gi"
    worker:
      requests:
        cpu: "100m"
        memory: "256Mi"
      limits:
        cpu: "1000m"
        memory: "1Gi"
  eks-freetier:serverless-s3-lifecycle-expiration:
    backupMeta: 5
    unusedSST: 5
    rlog: 5
    # archive omitted → uses code default 90d (Glacier IR 90-day minimum charge;
    # deleting earlier saves nothing).
