services:
  premiumUpgrade:
    dummy: false
    scanInterval: 30s
    conflictRetryInterval: 1m
    applyDeadline: 6h
    maxParallelTargets: 3
    detailLinkBaseURL: https://devops.example.com/premium-upgrade-plans/%d

    approval:
      nodes:
        # These user-group names are examples. Replace them with existing
        # Approval Service user groups in the target environment.
        # selfApprove + ANY means the applicant or any group member can approve.

        - name: TiFlash approval
          components:
            - SHARED_POOL/tiflash_compute
            - SHARED_POOL/tiflash_write
          userGroup: cloud-operation-release-kernel
          method: ANY

        - name: PD approval
          components:
            - SHARED_POOL/pd
            - SHARED_POOL/pd_tso
            - SHARED_POOL/pd_scheduling
            - SHARED_POOL/resource_manager
          userGroup: kernel_component_owner_pd
          method: ANY

        - name: TiKV approval
          components:
            - SHARED_POOL/tikv_worker
            - SHARED_POOL/coprocessor_worker
            - SHARED_POOL/tikv
            - SHARED_POOL/schema_manager
          userGroup: kernel_component_owner_tikv
          method: ANY

        - name: TiDB approval
          components:
            - SHARED_POOL/tidb_worker
            - SHARED_POOL/tidb
            - LOGICAL_CLUSTER/tidb
          userGroup: kernel_component_owner_tidb
          method: ANY

        - name: Backup and Restore approval
          components:
            - SHARED_POOL/classic_restore
            - SHARED_POOL/tibr_autobackup
            - SHARED_POOL/tibr_restore
            - SHARED_POOL/tibrgc_t2_dfsgc
            - SHARED_POOL/tibrgc_t3_archive
          userGroup: kernel_component_owner_br
          method: ANY

        - name: TiProxy approval
          components:
            - SHARED_POOL/tiproxy
            - LOGICAL_CLUSTER/tiproxy
          userGroup: kernel_component_owner_tiproxy
          method: ANY

        - name: Data Migration approval
          components:
            - SHARED_POOL/data_migration
          userGroup: kernel_component_owner_dm
          method: ANY

        - name: Dumpling approval
          components:
            - LOGICAL_CLUSTER/dumpling
          userGroup: kernel_component_owner_dumpling
          method: ANY

        # Fallback for newly supported components that are not listed above.
        - name: Default approval
          default: true
          userGroup: ops-portal-admin
          method: ANY
