values-with-providers-example.yaml 5.2 KB

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