values-with-providers-example.yaml 5.2 KB

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