rancher-partner-charts/charts/komodor/k8s-watcher/templates/clusterrole.yaml

329 lines
6.7 KiB
YAML

---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: {{ include "k8s-watcher.serviceAccountName" . }}
{{- if hasKey .Values "namespace" }}
namespace: {{ .Values.namespace }}
{{- end }}
rules:
- apiGroups:
- ""
resources:
{{- if .Values.watcher.resources.event }}
- events
{{- end }}
{{- if .Values.watcher.resources.pod }}
- pods
{{- end }}
{{- if .Values.watcher.resources.replicationController }}
- replicationcontrollers
{{- end }}
{{- if .Values.watcher.resources.service }}
- services
{{- end }}
{{- if .Values.watcher.resources.namespace }}
- namespaces
{{- end }}
{{- if .Values.watcher.resources.configMap }}
- configmaps
{{- end }}
{{- if .Values.watcher.resources.node }}
- nodes
{{- end }}
{{- if .Values.watcher.resources.persistentVolume }}
- persistentvolumes
{{- end }}
{{- if .Values.watcher.resources.persistentVolumeClaim }}
- persistentvolumeclaims
{{- end }}
{{- if .Values.watcher.resources.serviceAccount }}
- serviceaccounts
{{- end }}
{{- if .Values.watcher.resources.secret }}
- secrets
{{- end }}
{{- if .Values.watcher.resources.endpoints }}
- endpoints
{{- end }}
{{- if .Values.watcher.resources.limitRange }}
- limitranges
{{- end }}
{{- if .Values.watcher.resources.podTemplate }}
- podtemplates
{{- end }}
{{- if .Values.watcher.resources.resourceQuota }}
- resourcequotas
{{- end }}
verbs:
- get
- watch
- list
- apiGroups:
- rbac
- rbac.authorization.k8s.io
resources:
- clusterroles
{{- if .Values.watcher.resources.clusterRoleBinding }}
- clusterrolebindings
{{- end }}
{{- if .Values.watcher.resources.roleBinding }}
- rolebindings
{{- end }}
{{- if .Values.watcher.resources.role }}
- roles
{{- end }}
verbs:
- get
- watch
- list
- apiGroups: # Required as minimum installation
- apps
resources:
- deployments
- daemonsets
- replicasets
- statefulsets
{{- if .Values.watcher.resources.controllerRevision }}
- controllerrevisions
{{- end }}
verbs:
- get
- watch
- list
- apiGroups:
- batch
resources:
{{- if .Values.watcher.resources.job }}
- jobs
{{- end }}
{{- if .Values.watcher.resources.cronjob }}
- cronjobs
{{- end }}
verbs:
- get
- watch
- list
- apiGroups:
- extensions
resources:
{{- if .Values.watcher.resources.ingress }}
- ingresses
{{- end }}
{{- if .Values.watcher.resources.networkPolicy }}
- networkpolicies
{{- end }}
{{- if .Values.watcher.resources.ingressClass }}
- ingressclasses
{{- end }}
verbs:
- get
- watch
- list
- apiGroups:
- networking.k8s.io
resources:
{{- if .Values.watcher.resources.ingress }}
- ingresses
{{- end }}
{{- if .Values.watcher.resources.ingressClass }}
- ingressclasses
{{- end }}
{{- if .Values.watcher.resources.networkPolicy }}
- networkpolicies
{{- end }}
verbs:
- get
- watch
- list
{{- if .Values.watcher.enableAgentTaskExecution }}
- apiGroups:
- ""
resources:
- pods
{{- if .Values.watcher.allowReadingPodLogs }}
- pods/log
{{- end }}
verbs:
- "get"
- "list"
{{- end }}
- apiGroups:
- storage.k8s.io
resources:
{{- if .Values.watcher.resources.storageClass }}
- storageclasses
{{- end }}
{{- if .Values.watcher.resources.csiDriver }}
- csidrivers
{{- end }}
{{- if .Values.watcher.resources.csiNode }}
- csinodes
{{- end }}
{{- if .Values.watcher.resources.csiStorageCapacity }}
- csistoragecapacities
{{- end }}
{{- if .Values.watcher.resources.volumeAttachment }}
- volumeattachments
{{- end }}
verbs:
- get
- watch
- list
# Required to validate if enabled CRDs are enabled on cluster
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- watch
- list
{{- if .Values.watcher.resources.rollout }}
- apiGroups:
- argoproj.io
resources:
- rollouts
- rollouts/status
- rollouts/finalizers
- analysistemplates
- clusteranalysistemplates
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.metrics }}
- apiGroups:
- metrics.k8s.io
resources:
- nodes
- pods
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.admissionRegistrationResources }}
- apiGroups:
- admissionregistration.k8s.io
resources:
- mutatingwebhookconfigurations
- validatingwebhookconfigurations
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.authorizationResources }}
- apiGroups:
- authorization.k8s.io
resources:
- localsubjectaccessreviews
- selfsubjectaccessreviews
- selfsubjectrulesreviews
- subjectaccessreviews
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.horizontalPodAutoscaler }}
- apiGroups:
- autoscaling
resources:
- horizontalpodautoscalers
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.certificateSigningRequest }}
- apiGroups:
- certificates.k8s.io
resources:
- certificatesigningrequests
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.lease }}
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.endpointSlice }}
- apiGroups:
- discovery.k8s.io
resources:
- endpointslices
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.flowControlResources }}
- apiGroups:
- flowcontrol.apiserver.k8s.io
resources:
- flowschemas
- prioritylevelconfigurations
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.runtimeClass }}
- apiGroups:
- node.k8s.io
resources:
- runtimeclasses
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.policyResources }}
- apiGroups:
- policy
resources:
- poddisruptionbudgets
- podsecuritypolicies
verbs:
- get
- watch
- list
{{- end }}
{{- if .Values.watcher.resources.priorityClass }}
- apiGroups:
- scheduling.k8s.io
resources:
- priorityclasses
verbs:
- get
- watch
- list
{{- end }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ include "k8s-watcher.serviceAccountName" . }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ include "k8s-watcher.serviceAccountName" . }}
subjects:
- kind: ServiceAccount
name: {{ include "k8s-watcher.serviceAccountName" . }}
{{- if hasKey .Values "namespace" }}
namespace: {{ .Values.namespace }}
{{- end }}