rbac.yaml 4.3 KB

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