external-secrets.io_secretstores.yaml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.5.0
  6. creationTimestamp: null
  7. name: secretstores.external-secrets.io
  8. spec:
  9. group: external-secrets.io
  10. names:
  11. categories:
  12. - externalsecrets
  13. kind: SecretStore
  14. listKind: SecretStoreList
  15. plural: secretstores
  16. shortNames:
  17. - ss
  18. singular: secretstore
  19. scope: Namespaced
  20. versions:
  21. - additionalPrinterColumns:
  22. - jsonPath: .metadata.creationTimestamp
  23. name: AGE
  24. type: date
  25. name: v1alpha1
  26. schema:
  27. openAPIV3Schema:
  28. description: SecretStore represents a secure external location for storing
  29. secrets, which can be referenced as part of `storeRef` fields.
  30. properties:
  31. apiVersion:
  32. description: 'APIVersion defines the versioned schema of this representation
  33. of an object. Servers should convert recognized schemas to the latest
  34. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  35. type: string
  36. kind:
  37. description: 'Kind is a string value representing the REST resource this
  38. object represents. Servers may infer this from the endpoint the client
  39. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  40. type: string
  41. metadata:
  42. type: object
  43. spec:
  44. description: SecretStoreSpec defines the desired state of SecretStore.
  45. properties:
  46. controller:
  47. description: 'Used to select the correct KES controller (think: ingress.ingressClassName)
  48. The KES controller is instantiated with a specific controller name
  49. and filters ES based on this property'
  50. type: string
  51. provider:
  52. description: Used to configure the provider. Only one provider may
  53. be set
  54. maxProperties: 1
  55. minProperties: 1
  56. properties:
  57. aws:
  58. description: AWS configures this store to sync secrets using AWS
  59. Secret Manager provider
  60. properties:
  61. auth:
  62. description: 'Auth defines the information necessary to authenticate
  63. against AWS if not set aws sdk will infer credentials from
  64. your environment see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  65. nullable: true
  66. properties:
  67. secretRef:
  68. description: AWSAuthSecretRef holds secret references
  69. for aws credentials both AccessKeyID and SecretAccessKey
  70. must be defined in order to properly authenticate.
  71. properties:
  72. accessKeyIDSecretRef:
  73. description: The AccessKeyID is used for authentication
  74. properties:
  75. key:
  76. description: The key of the entry in the Secret
  77. resource's `data` field to be used. Some instances
  78. of this field may be defaulted, in others it
  79. may be required.
  80. type: string
  81. name:
  82. description: The name of the Secret resource being
  83. referred to.
  84. type: string
  85. namespace:
  86. description: Namespace of the resource being referred
  87. to. Ignored if referent is not cluster-scoped.
  88. cluster-scoped defaults to the namespace of
  89. the referent.
  90. type: string
  91. required:
  92. - name
  93. type: object
  94. secretAccessKeySecretRef:
  95. description: The SecretAccessKey is used for authentication
  96. properties:
  97. key:
  98. description: The key of the entry in the Secret
  99. resource's `data` field to be used. Some instances
  100. of this field may be defaulted, in others it
  101. may be required.
  102. type: string
  103. name:
  104. description: The name of the Secret resource being
  105. referred to.
  106. type: string
  107. namespace:
  108. description: Namespace of the resource being referred
  109. to. Ignored if referent is not cluster-scoped.
  110. cluster-scoped defaults to the namespace of
  111. the referent.
  112. type: string
  113. required:
  114. - name
  115. type: object
  116. type: object
  117. required:
  118. - secretRef
  119. type: object
  120. region:
  121. description: AWS Region to be used for the provider
  122. type: string
  123. role:
  124. description: Role is a Role ARN which the SecretManager provider
  125. will assume
  126. type: string
  127. service:
  128. description: Service defines which service should be used
  129. to fetch the secrets
  130. enum:
  131. - SecretsManager
  132. - ParameterStore
  133. type: string
  134. required:
  135. - region
  136. - service
  137. type: object
  138. vault:
  139. description: Vault configures this store to sync secrets using
  140. Hashi provider
  141. properties:
  142. auth:
  143. description: Auth configures how secret-manager authenticates
  144. with the Vault server.
  145. properties:
  146. appRole:
  147. description: AppRole authenticates with Vault using the
  148. App Role auth mechanism, with the role and secret stored
  149. in a Kubernetes Secret resource.
  150. properties:
  151. path:
  152. default: approle
  153. description: 'Path where the App Role authentication
  154. backend is mounted in Vault, e.g: "approle"'
  155. type: string
  156. roleId:
  157. description: RoleID configured in the App Role authentication
  158. backend when setting up the authentication backend
  159. in Vault.
  160. type: string
  161. secretRef:
  162. description: Reference to a key in a Secret that contains
  163. the App Role secret used to authenticate with Vault.
  164. The `key` field must be specified and denotes which
  165. entry within the Secret resource is used as the
  166. app role secret.
  167. properties:
  168. key:
  169. description: The key of the entry in the Secret
  170. resource's `data` field to be used. Some instances
  171. of this field may be defaulted, in others it
  172. may be required.
  173. type: string
  174. name:
  175. description: The name of the Secret resource being
  176. referred to.
  177. type: string
  178. namespace:
  179. description: Namespace of the resource being referred
  180. to. Ignored if referent is not cluster-scoped.
  181. cluster-scoped defaults to the namespace of
  182. the referent.
  183. type: string
  184. required:
  185. - name
  186. type: object
  187. required:
  188. - path
  189. - roleId
  190. - secretRef
  191. type: object
  192. kubernetes:
  193. description: Kubernetes authenticates with Vault by passing
  194. the ServiceAccount token stored in the named Secret
  195. resource to the Vault server.
  196. properties:
  197. mountPath:
  198. default: kubernetes
  199. description: 'Path where the Kubernetes authentication
  200. backend is mounted in Vault, e.g: "kubernetes"'
  201. type: string
  202. role:
  203. description: A required field containing the Vault
  204. Role to assume. A Role binds a Kubernetes ServiceAccount
  205. with a set of Vault policies.
  206. type: string
  207. secretRef:
  208. description: Optional secret field containing a Kubernetes
  209. ServiceAccount JWT used for authenticating with
  210. Vault. If a name is specified without a key, `token`
  211. is the default. If one is not specified, the one
  212. bound to the controller will be used.
  213. properties:
  214. key:
  215. description: The key of the entry in the Secret
  216. resource's `data` field to be used. Some instances
  217. of this field may be defaulted, in others it
  218. may be required.
  219. type: string
  220. name:
  221. description: The name of the Secret resource being
  222. referred to.
  223. type: string
  224. namespace:
  225. description: Namespace of the resource being referred
  226. to. Ignored if referent is not cluster-scoped.
  227. cluster-scoped defaults to the namespace of
  228. the referent.
  229. type: string
  230. required:
  231. - name
  232. type: object
  233. serviceAccountRef:
  234. description: Optional service account field containing
  235. the name of a kubernetes ServiceAccount. If the
  236. service account is specified, the service account
  237. secret token JWT will be used for authenticating
  238. with Vault. If the service account selector is not
  239. supplied, the secretRef will be used instead.
  240. properties:
  241. name:
  242. description: The name of the ServiceAccount resource
  243. being referred to.
  244. type: string
  245. namespace:
  246. description: Namespace of the resource being referred
  247. to. Ignored if referent is not cluster-scoped.
  248. cluster-scoped defaults to the namespace of
  249. the referent.
  250. type: string
  251. required:
  252. - name
  253. type: object
  254. required:
  255. - mountPath
  256. - role
  257. type: object
  258. tokenSecretRef:
  259. description: TokenSecretRef authenticates with Vault by
  260. presenting a token.
  261. properties:
  262. key:
  263. description: The key of the entry in the Secret resource's
  264. `data` field to be used. Some instances of this
  265. field may be defaulted, in others it may be required.
  266. type: string
  267. name:
  268. description: The name of the Secret resource being
  269. referred to.
  270. type: string
  271. namespace:
  272. description: Namespace of the resource being referred
  273. to. Ignored if referent is not cluster-scoped. cluster-scoped
  274. defaults to the namespace of the referent.
  275. type: string
  276. required:
  277. - name
  278. type: object
  279. type: object
  280. caBundle:
  281. description: PEM encoded CA bundle used to validate Vault
  282. server certificate. Only used if the Server URL is using
  283. HTTPS protocol. This parameter is ignored for plain HTTP
  284. protocol connection. If not set the system root certificates
  285. are used to validate the TLS connection.
  286. format: byte
  287. type: string
  288. namespace:
  289. description: 'Name of the vault namespace. Namespaces is a
  290. set of features within Vault Enterprise that allows Vault
  291. environments to support Secure Multi-tenancy. e.g: "ns1".
  292. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces'
  293. type: string
  294. path:
  295. description: 'Path is the mount path of the Vault KV backend
  296. endpoint, e.g: "secret". The v2 KV secret engine version
  297. specific "/data" path suffix for fetching secrets from Vault
  298. is optional and will be appended if not present in specified
  299. path.'
  300. type: string
  301. server:
  302. description: 'Server is the connection address for the Vault
  303. server, e.g: "https://vault.example.com:8200".'
  304. type: string
  305. version:
  306. default: v2
  307. description: Version is the Vault KV secret engine version.
  308. This can be either "v1" or "v2". Version defaults to "v2".
  309. enum:
  310. - v1
  311. - v2
  312. type: string
  313. required:
  314. - auth
  315. - path
  316. - server
  317. type: object
  318. type: object
  319. required:
  320. - provider
  321. type: object
  322. status:
  323. description: SecretStoreStatus defines the observed state of the SecretStore.
  324. properties:
  325. conditions:
  326. items:
  327. properties:
  328. lastTransitionTime:
  329. format: date-time
  330. type: string
  331. message:
  332. type: string
  333. reason:
  334. type: string
  335. status:
  336. type: string
  337. type:
  338. type: string
  339. required:
  340. - status
  341. - type
  342. type: object
  343. type: array
  344. type: object
  345. type: object
  346. served: true
  347. storage: true
  348. subresources:
  349. status: {}
  350. status:
  351. acceptedNames:
  352. kind: ""
  353. plural: ""
  354. conditions: []
  355. storedVersions: []