# helm_charts_omsagent-rbac.yaml
{{- if .Values.omsagent.rbac }}
apiVersion: v1
kind: ServiceAccount
metadata:
  name: omsagent
  namespace: kube-system
  labels:
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: omsagent-reader
  labels:
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
rules:
- apiGroups: [""]
  resources: ["pods", "events", "nodes", "nodes/stats", "nodes/metrics", "nodes/spec", "nodes/proxy", "namespaces", "services"]
  verbs: ["list", "get", "watch"]
- apiGroups: ["apps", "extensions", "autoscaling"]
  resources: ["replicasets", "deployments", "horizontalpodautoscalers"]
  verbs: ["list"]
- apiGroups: ["azmon.container.insights"]
  resources: ["healthstates"]
  verbs: ["get", "create", "patch"]
- apiGroups: ["clusterconfig.azure.com"]
  resources: ["azureclusteridentityrequests"]
  resourceNames: ["container-insights-clusteridentityrequest"]
  verbs: ["get", "create", "patch"]
- nonResourceURLs: ["/metrics"]
  verbs: ["get"]
- apiGroups: [""]
  resources: ["secrets"]
  resourceNames: ["container-insights-clusteridentityrequest-token"]
  verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: omsagentclusterrolebinding
  labels:
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
subjects:
  - kind: ServiceAccount
    name: omsagent
    namespace: kube-system
roleRef:
  kind: ClusterRole
  name: omsagent-reader
  apiGroup: rbac.authorization.k8s.io
{{- end }}