rbac.yaml 3.6 KB

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