values-with-providers-example.yaml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. # Example values.yaml demonstrating provider deployment
  2. # This shows how to deploy External Secrets with multiple providers
  3. # Deploy the External Secrets controller
  4. replicaCount: 1
  5. image:
  6. repository: oci.external-secrets.io/external-secrets/external-secrets
  7. pullPolicy: IfNotPresent
  8. tag: ""
  9. # Install CRDs
  10. installCRDs: true
  11. v2:
  12. enabled: true
  13. crds:
  14. createClusterProviderClass: true
  15. createProviderStore: true
  16. createClusterProviderStore: true
  17. # Enable provider deployments
  18. providers:
  19. enabled: true
  20. list:
  21. # AWS Provider Example
  22. - name: aws-primary
  23. type: aws
  24. enabled: true
  25. replicaCount: 2
  26. image:
  27. repository: oci.external-secrets.io/external-secrets/provider-aws
  28. pullPolicy: IfNotPresent
  29. tag: ""
  30. serviceAccount:
  31. create: true
  32. annotations:
  33. # Example: Use IRSA for AWS authentication
  34. eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/eso-provider-aws
  35. automount: true
  36. podSecurityContext:
  37. enabled: true
  38. runAsNonRoot: true
  39. runAsUser: 65532
  40. fsGroup: 65532
  41. seccompProfile:
  42. type: RuntimeDefault
  43. securityContext:
  44. enabled: true
  45. allowPrivilegeEscalation: false
  46. readOnlyRootFilesystem: true
  47. runAsNonRoot: true
  48. runAsUser: 65532
  49. capabilities:
  50. drop:
  51. - ALL
  52. service:
  53. type: ClusterIP
  54. port: 8080
  55. resources:
  56. limits:
  57. cpu: 200m
  58. memory: 256Mi
  59. requests:
  60. cpu: 50m
  61. memory: 64Mi
  62. affinity:
  63. podAntiAffinity:
  64. preferredDuringSchedulingIgnoredDuringExecution:
  65. - weight: 100
  66. podAffinityTerm:
  67. labelSelector:
  68. matchLabels:
  69. app.kubernetes.io/component: provider
  70. external-secrets.io/provider: aws
  71. topologyKey: kubernetes.io/hostname
  72. podDisruptionBudget:
  73. enabled: true
  74. minAvailable: 1
  75. tls:
  76. enabled: true
  77. certPath: /etc/provider/certs
  78. caSecretName: external-secrets-v2-ca
  79. mountCA: true
  80. config:
  81. region: us-east-1
  82. authMethod: irsa
  83. logging:
  84. level: info
  85. format: json
  86. metrics:
  87. enabled: true
  88. port: 8081
  89. serviceMonitor:
  90. enabled: true
  91. interval: 30s
  92. scrapeTimeout: 10s
  93. health:
  94. port: 8082
  95. livenessProbe:
  96. enabled: true
  97. initialDelaySeconds: 10
  98. periodSeconds: 20
  99. readinessProbe:
  100. enabled: true
  101. initialDelaySeconds: 5
  102. periodSeconds: 10
  103. # GCP Provider Example (disabled by default)
  104. - name: gcp
  105. type: gcp
  106. enabled: false
  107. replicaCount: 2
  108. image:
  109. repository: oci.external-secrets.io/external-secrets/provider-gcp
  110. pullPolicy: IfNotPresent
  111. serviceAccount:
  112. create: true
  113. annotations:
  114. # Example: Use Workload Identity for GCP authentication
  115. iam.gke.io/gcp-service-account: eso-provider@project-id.iam.gserviceaccount.com
  116. resources:
  117. limits:
  118. cpu: 200m
  119. memory: 256Mi
  120. requests:
  121. cpu: 50m
  122. memory: 64Mi
  123. config:
  124. projectID: my-project-id
  125. logging:
  126. level: info
  127. metrics:
  128. enabled: true
  129. # Azure Provider Example (disabled by default)
  130. - name: azure
  131. type: azure
  132. enabled: false
  133. replicaCount: 2
  134. image:
  135. repository: oci.external-secrets.io/external-secrets/provider-azure
  136. pullPolicy: IfNotPresent
  137. serviceAccount:
  138. create: true
  139. annotations:
  140. # Example: Use Azure Workload Identity
  141. azure.workload.identity/client-id: "00000000-0000-0000-0000-000000000000"
  142. podLabels:
  143. azure.workload.identity/use: "true"
  144. resources:
  145. limits:
  146. cpu: 200m
  147. memory: 256Mi
  148. requests:
  149. cpu: 50m
  150. memory: 64Mi
  151. config:
  152. vaultURL: https://my-keyvault.vault.azure.net
  153. tenantID: "00000000-0000-0000-0000-000000000000"
  154. logging:
  155. level: info
  156. metrics:
  157. enabled: true
  158. # Vault Provider Example (disabled by default)
  159. - name: vault
  160. type: vault
  161. enabled: false
  162. replicaCount: 2
  163. image:
  164. repository: oci.external-secrets.io/external-secrets/provider-vault
  165. pullPolicy: IfNotPresent
  166. serviceAccount:
  167. create: true
  168. resources:
  169. limits:
  170. cpu: 200m
  171. memory: 256Mi
  172. requests:
  173. cpu: 50m
  174. memory: 64Mi
  175. config:
  176. vaultAddr: https://vault.example.com
  177. authMethod: kubernetes
  178. extraEnv:
  179. - name: VAULT_SKIP_VERIFY
  180. value: "false"
  181. logging:
  182. level: info
  183. metrics:
  184. enabled: true
  185. # Standard controller configuration continues...
  186. serviceAccount:
  187. create: true
  188. annotations: {}
  189. resources:
  190. limits:
  191. cpu: 500m
  192. memory: 512Mi
  193. requests:
  194. cpu: 100m
  195. memory: 128Mi