---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: dedicated-o11y-agent-control-server
rules:
- apiGroups:
  - ""
  resources:
  - '*'
  verbs:
  - '*'
- apiGroups:
  - agent.observability.pingcap.com
  resources:
  - o11yagents
  - o11yclusters
  - o11yk8sagents
  - o11ytidbagents
  - kubernetesagents
  - sharedpoolagents
  - tidbgroupagents
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - agent.observability.pingcap.com
  resources:
  - o11yagents/finalizers
  - o11yclusters/finalizers
  - o11yk8sagents/finalizers
  - o11ytidbagents/finalizers
  - kubernetesagents/finalizers
  - sharedpoolagents/finalizers
  - tidbgroupagents/finalizers
  verbs:
  - update
- apiGroups:
  - agent.observability.pingcap.com
  resources:
  - o11yagents/status
  - o11yclusters/status
  - o11yk8sagents/status
  - o11ytidbagents/status
  - kubernetesagents/status
  - sharedpoolagents/status
  - tidbgroupagents/status
  verbs:
  - get
  - patch
  - update
# Dedicated Regional Server
- apiGroups:
  - dedicated.regionalserver.tidbcloud.com
  resources:
  - '*'
  verbs:
  - '*'
# Crossplane
- apiGroups:
  # AWS
  - aws.crossplane.io
  - eks.aws.crossplane.io
  - ec2.aws.crossplane.io
  - route53.aws.crossplane.io
  - kms.aws.crossplane.io
  - iam.aws.crossplane.io
  - autoscaling.aws.crossplane.io
  - lambda.aws.crossplane.io
  # GCP
  - gcp.crossplane.io
  - iam.gcp.crossplane.io
  - compute.gcp.crossplane.io
  - container.gcp.crossplane.io
  - storage.gcp.crossplane.io
  - vpcpeering.gcp.crossplane.io
  resources:
  - '*'
  verbs:
  - '*'
# Upbound
- apiGroups:
  # AWS
  - aws.upbound.io
  - eks.aws.upbound.io
  - ec2.aws.upbound.io
  - route53.aws.upbound.io
  - kms.aws.upbound.io
  - iam.aws.upbound.io
  - autoscaling.aws.upbound.io
  - lambda.aws.upbound.io
  # Azure
  - azure.upbound.io
  - authorization.azure.upbound.io
  - containerservice.azure.upbound.io
  - network.azure.upbound.io
  resources:
  - '*'
  verbs:
  - '*'
