apiVersion: v1 kind: ServiceAccount metadata: name: queue-operator namespace: {{ .Values.namespace }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: queue-operator rules: - apiGroups: ["kmsvc.io"] resources: ["queues"] verbs: ["get", "list", "watch", "update", "patch"] # The operator watches TemporalWorker objects and creates Deployments for # them. Without these two rules the controller logs # "cannot list resource temporalworkers/deployments ... at the cluster scope" # and never reconciles. - apiGroups: ["kmsvc.io"] resources: ["temporalworkers"] verbs: ["get", "list", "watch", "update", "patch"] - apiGroups: ["kmsvc.io"] resources: ["temporalworkers/status"] verbs: ["get", "update", "patch"] - apiGroups: ["apps"] resources: ["deployments"] verbs: ["get", "list", "watch", "create", "update", "patch"] - apiGroups: ["kmsvc.io"] resources: ["queues/status"] verbs: ["get", "update", "patch"] - apiGroups: ["kmsvc.io"] resources: ["queues/finalizers"] verbs: ["update"] - apiGroups: ["coordination.k8s.io"] resources: ["leases"] verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] - apiGroups: [""] resources: ["events"] verbs: ["create", "patch"] - apiGroups: [""] resources: ["pods", "nodes"] verbs: ["get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: queue-operator roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: queue-operator subjects: - kind: ServiceAccount name: queue-operator namespace: {{ .Values.namespace }}