apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: manager-role
rules:
##
## Base operator rules
##
# We need to get namespaces so the operator can read namespaces to ensure they exist
- apiGroups:
  - ""
  resources:
  - namespaces
  verbs:
  - get
# We need to manage Helm release secrets
- apiGroups:
  - ""
  resources:
  - secrets
  verbs:
  - "*"
# We need to create events on CRs about things happening during reconciliation
- apiGroups:
  - ""
  resources:
  - events
  verbs:
  - create

##
## Rules for apps.baloise.dev/v1alpha1, Kind: VirtualMachineCluster
##
- apiGroups:
  - apps.baloise.dev
  resources:
  - virtualmachineclusters
  - virtualmachineclusters/status
  - virtualmachineclusters/finalizers
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- verbs:
  - "*"
  apiGroups:
  - ""
  resources:
  - "secrets"
  - "services"
- verbs:
  - "*"
  apiGroups:
  - "kubevirt.io"
  resources:
  - "virtualmachines"
- apiGroups:
    - "route.openshift.io"
  resources:
    - "routes"
  verbs:
    - "*"
- verbs:
    - "*"
  apiGroups:
    - route.openshift.io
  resources:
    - routes/custom-host
- verbs:
    - "*"
  apiGroups:
    - batch
  resources:
    - jobs

#+kubebuilder:scaffold:rules
