rbac.yaml 4.1 KB

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