rbac.yaml 3.9 KB

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