rbac.yaml 3.8 KB

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