cert-controller-rbac.yaml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. {{- if and .Values.certController.create .Values.certController.rbac.create (not .Values.webhook.certManager.enabled) -}}
  2. apiVersion: rbac.authorization.k8s.io/v1
  3. kind: ClusterRole
  4. metadata:
  5. name: {{ include "external-secrets.fullname" . }}-cert-controller
  6. labels:
  7. {{- include "external-secrets-cert-controller.labels" . | nindent 4 }}
  8. rules:
  9. - apiGroups:
  10. - "apiextensions.k8s.io"
  11. resources:
  12. - "customresourcedefinitions"
  13. verbs:
  14. - "get"
  15. - "list"
  16. - "watch"
  17. - apiGroups:
  18. - "apiextensions.k8s.io"
  19. resources:
  20. - "customresourcedefinitions"
  21. resourceNames:
  22. - "externalsecrets.external-secrets.io"
  23. - "secretstores.external-secrets.io"
  24. {{- if .Values.crds.createClusterSecretStore }}
  25. - "clustersecretstores.external-secrets.io"
  26. {{- end }}
  27. verbs:
  28. - "update"
  29. - "patch"
  30. - apiGroups:
  31. - "admissionregistration.k8s.io"
  32. resources:
  33. - "validatingwebhookconfigurations"
  34. verbs:
  35. - "list"
  36. - "watch"
  37. - "get"
  38. - apiGroups:
  39. - "admissionregistration.k8s.io"
  40. resources:
  41. - "validatingwebhookconfigurations"
  42. resourceNames:
  43. - "secretstore-validate"
  44. - "externalsecret-validate"
  45. verbs:
  46. - "update"
  47. - "patch"
  48. - apiGroups:
  49. - ""
  50. resources:
  51. - "endpoints"
  52. verbs:
  53. - "list"
  54. - "get"
  55. - "watch"
  56. - apiGroups:
  57. - "discovery.k8s.io"
  58. resources:
  59. - "endpointslices"
  60. verbs:
  61. - "list"
  62. - "get"
  63. - "watch"
  64. - apiGroups:
  65. - ""
  66. resources:
  67. - "events"
  68. verbs:
  69. - "create"
  70. - "patch"
  71. - apiGroups:
  72. - ""
  73. resources:
  74. - "secrets"
  75. verbs:
  76. - "get"
  77. - "list"
  78. - "watch"
  79. - apiGroups:
  80. - ""
  81. resources:
  82. - "secrets"
  83. resourceNames:
  84. - {{ printf "%s-webhook" (include "external-secrets.fullname" .) | quote }}
  85. verbs:
  86. - "update"
  87. - "patch"
  88. - apiGroups:
  89. - "coordination.k8s.io"
  90. resources:
  91. - "leases"
  92. verbs:
  93. - "get"
  94. - "create"
  95. - "update"
  96. - "patch"
  97. {{- if .Values.certController.metrics.listen.auth.enabled }}
  98. - apiGroups:
  99. - "authentication.k8s.io"
  100. resources:
  101. - "tokenreviews"
  102. verbs:
  103. - "create"
  104. - apiGroups:
  105. - "authorization.k8s.io"
  106. resources:
  107. - "subjectaccessreviews"
  108. verbs:
  109. - "create"
  110. {{- end }}
  111. ---
  112. apiVersion: rbac.authorization.k8s.io/v1
  113. kind: ClusterRoleBinding
  114. metadata:
  115. name: {{ include "external-secrets.fullname" . }}-cert-controller
  116. labels:
  117. {{- include "external-secrets-cert-controller.labels" . | nindent 4 }}
  118. roleRef:
  119. apiGroup: rbac.authorization.k8s.io
  120. kind: ClusterRole
  121. name: {{ include "external-secrets.fullname" . }}-cert-controller
  122. subjects:
  123. - name: {{ include "external-secrets-cert-controller.serviceAccountName" . }}
  124. namespace: {{ template "external-secrets.namespace" . }}
  125. kind: ServiceAccount
  126. {{- end }}