rbac.yaml 3.9 KB

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