rbac.yaml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. {{- if .Values.rbac.create -}}
  2. apiVersion: rbac.authorization.k8s.io/v1
  3. kind: ClusterRole
  4. metadata:
  5. name: {{ include "external-secrets.fullname" . }}-controller
  6. labels:
  7. {{- include "external-secrets.labels" . | nindent 4 }}
  8. rules:
  9. - apiGroups:
  10. - "external-secrets.io"
  11. resources:
  12. - "secretstores"
  13. - "clustersecretstores"
  14. - "externalsecrets"
  15. - "clusterexternalsecrets"
  16. verbs:
  17. - "get"
  18. - "list"
  19. - "watch"
  20. - apiGroups:
  21. - "external-secrets.io"
  22. resources:
  23. - "externalsecrets"
  24. - "externalsecrets/status"
  25. - "externalsecrets/finalizers"
  26. - "secretstores"
  27. - "secretstores/status"
  28. - "secretstores/finalizers"
  29. - "clustersecretstores"
  30. - "clustersecretstores/status"
  31. - "clustersecretstores/finalizers"
  32. - "clusterexternalsecrets"
  33. - "clusterexternalsecrets/status"
  34. - "clusterexternalsecrets/finalizers"
  35. verbs:
  36. - "update"
  37. - "patch"
  38. - apiGroups:
  39. - ""
  40. resources:
  41. - "serviceaccounts"
  42. - "namespaces"
  43. verbs:
  44. - "get"
  45. - "list"
  46. - "watch"
  47. - apiGroups:
  48. - ""
  49. resources:
  50. - "configmaps"
  51. verbs:
  52. - "get"
  53. - "list"
  54. - "watch"
  55. - apiGroups:
  56. - ""
  57. resources:
  58. - "secrets"
  59. verbs:
  60. - "get"
  61. - "list"
  62. - "watch"
  63. - "create"
  64. - "update"
  65. - "delete"
  66. - "patch"
  67. - apiGroups:
  68. - ""
  69. resources:
  70. - "serviceaccounts/token"
  71. verbs:
  72. - "create"
  73. - apiGroups:
  74. - ""
  75. resources:
  76. - "events"
  77. verbs:
  78. - "create"
  79. - "patch"
  80. - apiGroups:
  81. - "external-secrets.io"
  82. resources:
  83. - "externalsecrets"
  84. verbs:
  85. - "create"
  86. - "update"
  87. ---
  88. apiVersion: rbac.authorization.k8s.io/v1
  89. kind: ClusterRole
  90. metadata:
  91. name: {{ include "external-secrets.fullname" . }}-view
  92. labels:
  93. {{- include "external-secrets.labels" . | nindent 4 }}
  94. rbac.authorization.k8s.io/aggregate-to-view: "true"
  95. rbac.authorization.k8s.io/aggregate-to-edit: "true"
  96. rbac.authorization.k8s.io/aggregate-to-admin: "true"
  97. rules:
  98. - apiGroups:
  99. - "external-secrets.io"
  100. resources:
  101. - "externalsecrets"
  102. - "secretstores"
  103. - "clustersecretstores"
  104. verbs:
  105. - "get"
  106. - "watch"
  107. - "list"
  108. ---
  109. apiVersion: rbac.authorization.k8s.io/v1
  110. kind: ClusterRole
  111. metadata:
  112. name: {{ include "external-secrets.fullname" . }}-edit
  113. labels:
  114. {{- include "external-secrets.labels" . | nindent 4 }}
  115. rbac.authorization.k8s.io/aggregate-to-edit: "true"
  116. rbac.authorization.k8s.io/aggregate-to-admin: "true"
  117. rules:
  118. - apiGroups:
  119. - "external-secrets.io"
  120. resources:
  121. - "externalsecrets"
  122. - "secretstores"
  123. - "clustersecretstores"
  124. verbs:
  125. - "create"
  126. - "delete"
  127. - "deletecollection"
  128. - "patch"
  129. - "update"
  130. ---
  131. apiVersion: rbac.authorization.k8s.io/v1
  132. kind: ClusterRoleBinding
  133. metadata:
  134. name: {{ include "external-secrets.fullname" . }}-controller
  135. labels:
  136. {{- include "external-secrets.labels" . | nindent 4 }}
  137. roleRef:
  138. apiGroup: rbac.authorization.k8s.io
  139. kind: ClusterRole
  140. name: {{ include "external-secrets.fullname" . }}-controller
  141. subjects:
  142. - name: {{ include "external-secrets.serviceAccountName" . }}
  143. namespace: {{ .Release.Namespace | quote }}
  144. kind: ServiceAccount
  145. ---
  146. apiVersion: rbac.authorization.k8s.io/v1
  147. kind: Role
  148. metadata:
  149. name: {{ include "external-secrets.fullname" . }}-leaderelection
  150. namespace: {{ .Release.Namespace | quote }}
  151. labels:
  152. {{- include "external-secrets.labels" . | nindent 4 }}
  153. rules:
  154. - apiGroups:
  155. - ""
  156. resources:
  157. - "configmaps"
  158. resourceNames:
  159. - "external-secrets-controller"
  160. verbs:
  161. - "get"
  162. - "update"
  163. - "patch"
  164. - apiGroups:
  165. - ""
  166. resources:
  167. - "configmaps"
  168. verbs:
  169. - "create"
  170. - apiGroups:
  171. - "coordination.k8s.io"
  172. resources:
  173. - "leases"
  174. verbs:
  175. - "get"
  176. - "create"
  177. - "update"
  178. - "patch"
  179. ---
  180. apiVersion: rbac.authorization.k8s.io/v1
  181. kind: RoleBinding
  182. metadata:
  183. name: {{ include "external-secrets.fullname" . }}-leaderelection
  184. namespace: {{ .Release.Namespace | quote }}
  185. labels:
  186. {{- include "external-secrets.labels" . | nindent 4 }}
  187. roleRef:
  188. apiGroup: rbac.authorization.k8s.io
  189. kind: Role
  190. name: {{ include "external-secrets.fullname" . }}-leaderelection
  191. subjects:
  192. - kind: ServiceAccount
  193. name: {{ include "external-secrets.serviceAccountName" . }}
  194. namespace: {{ .Release.Namespace | quote }}
  195. {{- end }}