{{/*
# Copyright © 2020 Orange
#
# 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.
*/}}

{{- $dot := . -}}
{{- range $role_type := $dot.Values.roles }}
---
apiVersion: rbac.authorization.k8s.io/v1
# This cluster role binding allows anyone in the "manager" group to read secrets in any namespace.
kind: RoleBinding
metadata:
  name: {{ include "common.fullname" (dict "suffix" $role_type "dot" $dot )}}
  namespace: {{ include "common.namespace" $dot }}
subjects:
- kind: ServiceAccount
  name: {{ include "common.fullname" (dict "suffix" $role_type "dot" $dot )}}
roleRef:
  kind: Role
  name: {{ include "common.fullname" (dict "suffix" $role_type "dot" $dot )}}
  apiGroup: rbac.authorization.k8s.io
{{- end }}
