rbac.yaml 3.7 KB

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