
apiVersion: v1
kind: ServiceAccount
metadata:
  name: vm-operator
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: leader-election-role
rules:
- apiGroups:
  - ""
  resources:
  - configmaps
  verbs:
  - get
  - list
  - watch
  - create
  - update
  - patch
  - delete
- apiGroups:
  - ""
  resources:
  - configmaps/status
  verbs:
  - get
  - update
  - patch
- apiGroups:
  - ""
  resources:
  - events
  verbs:
  - create
  - patch
- apiGroups:
  - coordination.k8s.io
  resources:
  - leases
  verbs:
  - create
  - get
  - update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: vm-operator-manager-role
rules:
- apiGroups:
  - ""
  resources:
  - configmaps
  - configmaps/finalizers
  verbs:
  - '*'
- apiGroups:
  - ""
  resources:
  - endpoints
  verbs:
  - '*'
- apiGroups:
  - ""
  resources:
  - events
  verbs:
  - '*'
- apiGroups:
  - ""
  resources:
  - namespaces
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - persistentvolumeclaims
  - persistentvolumeclaims/finalizers
  verbs:
  - '*'
- apiGroups:
  - ""
  resources:
  - pods
  verbs:
  - '*'
- apiGroups:
  - ""
  resources:
  - secrets
  - secrets/finalizers
  verbs:
  - '*'
- apiGroups:
  - ""
  resources:
  - services
  - services/finalizers
  verbs:
  - '*'
- apiGroups:
  - apps
  resources:
  - deployments
  - deployments/finalizers
  verbs:
  - '*'
- apiGroups:
  - apps
  resources:
  - replicasets
  verbs:
  - '*'
- apiGroups:
  - apps
  resources:
  - statefulsets
  - statefulsets/finalizers
  - statefulsets/status
  verbs:
  - '*'
- apiGroups:
  - policy
  resources:
  - poddisruptionbudgets
  - poddisruptionbudgets/finalizers
  verbs:
  - '*'
- apiGroups:
  - monitoring.coreos.com
  resources:
  - '*'
  verbs:
  - '*'
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmagents
  - vmagents/finalizers
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmagents/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmalertmanagers
  - vmalertmanagers/finalizers
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmalertmanagers/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmalerts
  - vmalerts/finalizers
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmalerts/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmclusters
  - vmclusters/finalizers
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmclusters/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmpodscrapes
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmpodscrapes/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmrules
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmrules/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmservicescrapes
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmservicescrapes/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmprobes
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmprobes/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmsingles
  - vmsingles/finalizers
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmsingles/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - ""
  resources:
  - nodes
  - nodes/proxy
  - nodes/metrics
  - services
  - endpoints
  - pods
  - endpointslices
  - configmaps
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - extensions
  - extensions
  - networking.k8s.io
  - networking.k8s.io
  resources:
  - ingresses
  verbs:
  - get
  - list
  - watch
  - delete
- nonResourceURLs:
  - /metrics
  - /metrics/resources
  verbs:
  - get
  - watch
  - list
- apiGroups:
  - rbac.authorization.k8s.io
  resources:
  - clusterrolebindings
  - clusterrolebindings/finalizers
  - clusterroles
  - clusterroles/finalizers
  - roles
  - rolebindings
  verbs:
  - get
  - list
  - create
  - patch
  - update
  - watch
  - delete
- apiGroups:
  - policy
  resources:
  - podsecuritypolicies
  - podsecuritypolicies/finalizers
  verbs:
  - get
  - list
  - create
  - patch
  - update
  - use
  - watch
  - delete
- apiGroups:
  - ""
  resources:
  - serviceaccounts
  - serviceaccounts/finalizers
  verbs:
  - get
  - list
  - create
  - watch
  - delete
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmnodescrapes
  - vmnodescrapes/finalizers
  verbs:
  - '*'
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmnodescrapes/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmstaticscrapes
  - vmnodescrapes/finalizers
  verbs:
  - '*'
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmstaticscrapes/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - storage.k8s.io
  resources:
  - storageclasses
  verbs:
  - list
  - get
  - watch
- apiGroups:
  - route.openshift.io
  - image.openshift.io
  resources:
  - routers/metrics
  - registry/metrics
  verbs:
  - get
- apiGroups:
  - autoscaling
  resources:
  - horizontalpodautoscalers
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmusers
  - vmusers/finalizers
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmusers/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmauths
  - vmauths/finalizers
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmauths/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - networking.k8s.io
  - extensions
  resources:
  - ingresses
  - ingresses/finalizers
  verbs:
  - create
  - delete
  - get
  - patch
  - update
  - watch
- apiGroups:
  - apiextensions.k8s.io
  resources:
  - customresourcedefinitions
  verbs:
  - get
  - list
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmalertmanagerconfigs
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operator.victoriametrics.com
  resources:
  - vmalertmanagerconfigs/status
  verbs:
  - get
  - patch
  - update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: leader-election-rolebinding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: leader-election-role
subjects:
- kind: ServiceAccount
  name: vm-operator
  namespace: {{ .Release.Namespace }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: vm-operator-manager-rolebinding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: vm-operator-manager-role
subjects:
- kind: ServiceAccount
  name: vm-operator
  namespace: {{ .Release.Namespace }}
