---
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: pod-networks-operator
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - '*'
  verbs:
  - '*'
#- apiGroups: [""]
#  resources: ["pods"]
#  verbs: ["get"]
#- apiGroups: [""]
#  resources: ["pods/status"]
#  verbs: ["update"]
#- apiGroups: ["k8s.cni.cncf.io"]
#  resources: ["*"]
#  verbs: ["get"]
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: multus-sa
  namespace: kube-system
---
apiVersion: v1
kind: Secret
metadata:
  name: multus-sa-secret
  namespace: kube-system
  annotations:
    kubernetes.io/service-account.name: multus-sa
type: kubernetes.io/service-account-token
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: multus-rb
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: pod-networks-operator
subjects:
- kind: ServiceAccount
  name: multus-sa
  namespace: kube-system
