rbac.yaml 3.8 KB

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