external-secrets.io_secretstores.yaml 60 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136
  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. akeyless:
  58. description: Akeyless configures this store to sync secrets using
  59. Akeyless Vault provider
  60. properties:
  61. akeylessGWApiURL:
  62. description: Akeyless GW API Url from which the secrets to
  63. be fetched from.
  64. type: string
  65. authSecretRef:
  66. description: Auth configures how the operator authenticates
  67. with Akeyless.
  68. properties:
  69. secretRef:
  70. description: 'AkeylessAuthSecretRef AKEYLESS_ACCESS_TYPE_PARAM:
  71. AZURE_OBJ_ID OR GCP_AUDIENCE OR ACCESS_KEY OR KUB_CONFIG_NAME.'
  72. properties:
  73. accessID:
  74. description: The SecretAccessID is used for authentication
  75. properties:
  76. key:
  77. description: The key of the entry in the Secret
  78. resource's `data` field to be used. Some instances
  79. of this field may be defaulted, in others it
  80. may be required.
  81. type: string
  82. name:
  83. description: The name of the Secret resource being
  84. referred to.
  85. type: string
  86. namespace:
  87. description: Namespace of the resource being referred
  88. to. Ignored if referent is not cluster-scoped.
  89. cluster-scoped defaults to the namespace of
  90. the referent.
  91. type: string
  92. type: object
  93. accessType:
  94. description: A reference to a specific 'key' within
  95. a Secret resource, In some instances, `key` is a
  96. required field.
  97. properties:
  98. key:
  99. description: The key of the entry in the Secret
  100. resource's `data` field to be used. Some instances
  101. of this field may be defaulted, in others it
  102. may be required.
  103. type: string
  104. name:
  105. description: The name of the Secret resource being
  106. referred to.
  107. type: string
  108. namespace:
  109. description: Namespace of the resource being referred
  110. to. Ignored if referent is not cluster-scoped.
  111. cluster-scoped defaults to the namespace of
  112. the referent.
  113. type: string
  114. type: object
  115. accessTypeParam:
  116. description: A reference to a specific 'key' within
  117. a Secret resource, In some instances, `key` is a
  118. required field.
  119. properties:
  120. key:
  121. description: The key of the entry in the Secret
  122. resource's `data` field to be used. Some instances
  123. of this field may be defaulted, in others it
  124. may be required.
  125. type: string
  126. name:
  127. description: The name of the Secret resource being
  128. referred to.
  129. type: string
  130. namespace:
  131. description: Namespace of the resource being referred
  132. to. Ignored if referent is not cluster-scoped.
  133. cluster-scoped defaults to the namespace of
  134. the referent.
  135. type: string
  136. type: object
  137. type: object
  138. required:
  139. - secretRef
  140. type: object
  141. required:
  142. - akeylessGWApiURL
  143. - authSecretRef
  144. type: object
  145. alibaba:
  146. description: Alibaba configures this store to sync secrets using
  147. Alibaba Cloud provider
  148. properties:
  149. auth:
  150. description: AlibabaAuth contains a secretRef for credentials.
  151. properties:
  152. secretRef:
  153. description: AlibabaAuthSecretRef holds secret references
  154. for Alibaba credentials.
  155. properties:
  156. accessKeyIDSecretRef:
  157. description: The AccessKeyID is used for authentication
  158. properties:
  159. key:
  160. description: The key of the entry in the Secret
  161. resource's `data` field to be used. Some instances
  162. of this field may be defaulted, in others it
  163. may be required.
  164. type: string
  165. name:
  166. description: The name of the Secret resource being
  167. referred to.
  168. type: string
  169. namespace:
  170. description: Namespace of the resource being referred
  171. to. Ignored if referent is not cluster-scoped.
  172. cluster-scoped defaults to the namespace of
  173. the referent.
  174. type: string
  175. type: object
  176. accessKeySecretSecretRef:
  177. description: The AccessKeySecret is used for authentication
  178. properties:
  179. key:
  180. description: The key of the entry in the Secret
  181. resource's `data` field to be used. Some instances
  182. of this field may be defaulted, in others it
  183. may be required.
  184. type: string
  185. name:
  186. description: The name of the Secret resource being
  187. referred to.
  188. type: string
  189. namespace:
  190. description: Namespace of the resource being referred
  191. to. Ignored if referent is not cluster-scoped.
  192. cluster-scoped defaults to the namespace of
  193. the referent.
  194. type: string
  195. type: object
  196. required:
  197. - accessKeyIDSecretRef
  198. - accessKeySecretSecretRef
  199. type: object
  200. required:
  201. - secretRef
  202. type: object
  203. endpoint:
  204. type: string
  205. regionID:
  206. description: Alibaba Region to be used for the provider
  207. type: string
  208. required:
  209. - auth
  210. - regionID
  211. type: object
  212. aws:
  213. description: AWS configures this store to sync secrets using AWS
  214. Secret Manager provider
  215. properties:
  216. auth:
  217. description: 'Auth defines the information necessary to authenticate
  218. against AWS if not set aws sdk will infer credentials from
  219. your environment see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  220. properties:
  221. jwt:
  222. description: Authenticate against AWS using service account
  223. tokens.
  224. properties:
  225. serviceAccountRef:
  226. description: A reference to a ServiceAccount resource.
  227. properties:
  228. name:
  229. description: The name of the ServiceAccount resource
  230. being referred to.
  231. type: string
  232. namespace:
  233. description: Namespace of the resource being referred
  234. to. Ignored if referent is not cluster-scoped.
  235. cluster-scoped defaults to the namespace of
  236. the referent.
  237. type: string
  238. required:
  239. - name
  240. type: object
  241. type: object
  242. secretRef:
  243. description: AWSAuthSecretRef holds secret references
  244. for AWS credentials both AccessKeyID and SecretAccessKey
  245. must be defined in order to properly authenticate.
  246. properties:
  247. accessKeyIDSecretRef:
  248. description: The AccessKeyID is used for authentication
  249. properties:
  250. key:
  251. description: The key of the entry in the Secret
  252. resource's `data` field to be used. Some instances
  253. of this field may be defaulted, in others it
  254. may be required.
  255. type: string
  256. name:
  257. description: The name of the Secret resource being
  258. referred to.
  259. type: string
  260. namespace:
  261. description: Namespace of the resource being referred
  262. to. Ignored if referent is not cluster-scoped.
  263. cluster-scoped defaults to the namespace of
  264. the referent.
  265. type: string
  266. type: object
  267. secretAccessKeySecretRef:
  268. description: The SecretAccessKey is used for authentication
  269. properties:
  270. key:
  271. description: The key of the entry in the Secret
  272. resource's `data` field to be used. Some instances
  273. of this field may be defaulted, in others it
  274. may be required.
  275. type: string
  276. name:
  277. description: The name of the Secret resource being
  278. referred to.
  279. type: string
  280. namespace:
  281. description: Namespace of the resource being referred
  282. to. Ignored if referent is not cluster-scoped.
  283. cluster-scoped defaults to the namespace of
  284. the referent.
  285. type: string
  286. type: object
  287. type: object
  288. type: object
  289. region:
  290. description: AWS Region to be used for the provider
  291. type: string
  292. role:
  293. description: Role is a Role ARN which the SecretManager provider
  294. will assume
  295. type: string
  296. service:
  297. description: Service defines which service should be used
  298. to fetch the secrets
  299. enum:
  300. - SecretsManager
  301. - ParameterStore
  302. type: string
  303. required:
  304. - region
  305. - service
  306. type: object
  307. azurekv:
  308. description: AzureKV configures this store to sync secrets using
  309. Azure Key Vault provider
  310. properties:
  311. authSecretRef:
  312. description: Auth configures how the operator authenticates
  313. with Azure. Required for ServicePrincipal auth type.
  314. properties:
  315. clientId:
  316. description: The Azure clientId of the service principle
  317. used for authentication.
  318. properties:
  319. key:
  320. description: The key of the entry in the Secret resource's
  321. `data` field to be used. Some instances of this
  322. field may be defaulted, in others it may be required.
  323. type: string
  324. name:
  325. description: The name of the Secret resource being
  326. referred to.
  327. type: string
  328. namespace:
  329. description: Namespace of the resource being referred
  330. to. Ignored if referent is not cluster-scoped. cluster-scoped
  331. defaults to the namespace of the referent.
  332. type: string
  333. type: object
  334. clientSecret:
  335. description: The Azure ClientSecret of the service principle
  336. used for authentication.
  337. properties:
  338. key:
  339. description: The key of the entry in the Secret resource's
  340. `data` field to be used. Some instances of this
  341. field may be defaulted, in others it may be required.
  342. type: string
  343. name:
  344. description: The name of the Secret resource being
  345. referred to.
  346. type: string
  347. namespace:
  348. description: Namespace of the resource being referred
  349. to. Ignored if referent is not cluster-scoped. cluster-scoped
  350. defaults to the namespace of the referent.
  351. type: string
  352. type: object
  353. required:
  354. - clientId
  355. - clientSecret
  356. type: object
  357. authType:
  358. default: ServicePrincipal
  359. description: 'Auth type defines how to authenticate to the
  360. keyvault service. Valid values are: - "ServicePrincipal"
  361. (default): Using a service principal (tenantId, clientId,
  362. clientSecret) - "ManagedIdentity": Using Managed Identity
  363. assigned to the pod (see aad-pod-identity)'
  364. enum:
  365. - ServicePrincipal
  366. - ManagedIdentity
  367. type: string
  368. identityId:
  369. description: If multiple Managed Identity is assigned to the
  370. pod, you can select the one to be used
  371. type: string
  372. tenantId:
  373. description: TenantID configures the Azure Tenant to send
  374. requests to. Required for ServicePrincipal auth type.
  375. type: string
  376. vaultUrl:
  377. description: Vault Url from which the secrets to be fetched
  378. from.
  379. type: string
  380. required:
  381. - vaultUrl
  382. type: object
  383. gcpsm:
  384. description: GCPSM configures this store to sync secrets using
  385. Google Cloud Platform Secret Manager provider
  386. properties:
  387. auth:
  388. description: Auth defines the information necessary to authenticate
  389. against GCP
  390. properties:
  391. secretRef:
  392. properties:
  393. secretAccessKeySecretRef:
  394. description: The SecretAccessKey is used for authentication
  395. properties:
  396. key:
  397. description: The key of the entry in the Secret
  398. resource's `data` field to be used. Some instances
  399. of this field may be defaulted, in others it
  400. may be required.
  401. type: string
  402. name:
  403. description: The name of the Secret resource being
  404. referred to.
  405. type: string
  406. namespace:
  407. description: Namespace of the resource being referred
  408. to. Ignored if referent is not cluster-scoped.
  409. cluster-scoped defaults to the namespace of
  410. the referent.
  411. type: string
  412. type: object
  413. type: object
  414. workloadIdentity:
  415. properties:
  416. clusterLocation:
  417. type: string
  418. clusterName:
  419. type: string
  420. serviceAccountRef:
  421. description: A reference to a ServiceAccount resource.
  422. properties:
  423. name:
  424. description: The name of the ServiceAccount resource
  425. being referred to.
  426. type: string
  427. namespace:
  428. description: Namespace of the resource being referred
  429. to. Ignored if referent is not cluster-scoped.
  430. cluster-scoped defaults to the namespace of
  431. the referent.
  432. type: string
  433. required:
  434. - name
  435. type: object
  436. required:
  437. - clusterLocation
  438. - clusterName
  439. - serviceAccountRef
  440. type: object
  441. type: object
  442. projectID:
  443. description: ProjectID project where secret is located
  444. type: string
  445. type: object
  446. gitlab:
  447. description: GItlab configures this store to sync secrets using
  448. Gitlab Variables provider
  449. properties:
  450. auth:
  451. description: Auth configures how secret-manager authenticates
  452. with a GitLab instance.
  453. properties:
  454. SecretRef:
  455. properties:
  456. accessToken:
  457. description: AccessToken is used for authentication.
  458. properties:
  459. key:
  460. description: The key of the entry in the Secret
  461. resource's `data` field to be used. Some instances
  462. of this field may be defaulted, in others it
  463. may be required.
  464. type: string
  465. name:
  466. description: The name of the Secret resource being
  467. referred to.
  468. type: string
  469. namespace:
  470. description: Namespace of the resource being referred
  471. to. Ignored if referent is not cluster-scoped.
  472. cluster-scoped defaults to the namespace of
  473. the referent.
  474. type: string
  475. type: object
  476. type: object
  477. required:
  478. - SecretRef
  479. type: object
  480. projectID:
  481. description: ProjectID specifies a project where secrets are
  482. located.
  483. type: string
  484. url:
  485. description: URL configures the GitLab instance URL. Defaults
  486. to https://gitlab.com/.
  487. type: string
  488. required:
  489. - auth
  490. type: object
  491. ibm:
  492. description: IBM configures this store to sync secrets using IBM
  493. Cloud provider
  494. properties:
  495. auth:
  496. description: Auth configures how secret-manager authenticates
  497. with the IBM secrets manager.
  498. properties:
  499. secretRef:
  500. properties:
  501. secretApiKeySecretRef:
  502. description: The SecretAccessKey is used for authentication
  503. properties:
  504. key:
  505. description: The key of the entry in the Secret
  506. resource's `data` field to be used. Some instances
  507. of this field may be defaulted, in others it
  508. may be required.
  509. type: string
  510. name:
  511. description: The name of the Secret resource being
  512. referred to.
  513. type: string
  514. namespace:
  515. description: Namespace of the resource being referred
  516. to. Ignored if referent is not cluster-scoped.
  517. cluster-scoped defaults to the namespace of
  518. the referent.
  519. type: string
  520. type: object
  521. type: object
  522. required:
  523. - secretRef
  524. type: object
  525. serviceUrl:
  526. description: ServiceURL is the Endpoint URL that is specific
  527. to the Secrets Manager service instance
  528. type: string
  529. required:
  530. - auth
  531. type: object
  532. oracle:
  533. description: Oracle configures this store to sync secrets using
  534. Oracle Vault provider
  535. properties:
  536. auth:
  537. description: Auth configures how secret-manager authenticates
  538. with the Oracle Vault.
  539. properties:
  540. secretRef:
  541. description: SecretRef to pass through sensitive information.
  542. properties:
  543. fingerprint:
  544. description: Fingerprint is the fingerprint of the
  545. API private key.
  546. properties:
  547. key:
  548. description: The key of the entry in the Secret
  549. resource's `data` field to be used. Some instances
  550. of this field may be defaulted, in others it
  551. may be required.
  552. type: string
  553. name:
  554. description: The name of the Secret resource being
  555. referred to.
  556. type: string
  557. namespace:
  558. description: Namespace of the resource being referred
  559. to. Ignored if referent is not cluster-scoped.
  560. cluster-scoped defaults to the namespace of
  561. the referent.
  562. type: string
  563. type: object
  564. privatekey:
  565. description: PrivateKey is the user's API Signing
  566. Key in PEM format, used for authentication.
  567. properties:
  568. key:
  569. description: The key of the entry in the Secret
  570. resource's `data` field to be used. Some instances
  571. of this field may be defaulted, in others it
  572. may be required.
  573. type: string
  574. name:
  575. description: The name of the Secret resource being
  576. referred to.
  577. type: string
  578. namespace:
  579. description: Namespace of the resource being referred
  580. to. Ignored if referent is not cluster-scoped.
  581. cluster-scoped defaults to the namespace of
  582. the referent.
  583. type: string
  584. type: object
  585. type: object
  586. required:
  587. - secretRef
  588. type: object
  589. region:
  590. description: Region is the region where secret is located.
  591. type: string
  592. tenancy:
  593. description: Tenancy is the tenancy OCID where secret is located.
  594. type: string
  595. user:
  596. description: User is an access OCID specific to the account.
  597. type: string
  598. vault:
  599. description: Vault is the vault's OCID of the specific vault
  600. where secret is located.
  601. type: string
  602. required:
  603. - auth
  604. type: object
  605. vault:
  606. description: Vault configures this store to sync secrets using
  607. Hashi provider
  608. properties:
  609. auth:
  610. description: Auth configures how secret-manager authenticates
  611. with the Vault server.
  612. properties:
  613. appRole:
  614. description: AppRole authenticates with Vault using the
  615. App Role auth mechanism, with the role and secret stored
  616. in a Kubernetes Secret resource.
  617. properties:
  618. path:
  619. default: approle
  620. description: 'Path where the App Role authentication
  621. backend is mounted in Vault, e.g: "approle"'
  622. type: string
  623. roleId:
  624. description: RoleID configured in the App Role authentication
  625. backend when setting up the authentication backend
  626. in Vault.
  627. type: string
  628. secretRef:
  629. description: Reference to a key in a Secret that contains
  630. the App Role secret used to authenticate with Vault.
  631. The `key` field must be specified and denotes which
  632. entry within the Secret resource is used as the
  633. app role secret.
  634. properties:
  635. key:
  636. description: The key of the entry in the Secret
  637. resource's `data` field to be used. Some instances
  638. of this field may be defaulted, in others it
  639. may be required.
  640. type: string
  641. name:
  642. description: The name of the Secret resource being
  643. referred to.
  644. type: string
  645. namespace:
  646. description: Namespace of the resource being referred
  647. to. Ignored if referent is not cluster-scoped.
  648. cluster-scoped defaults to the namespace of
  649. the referent.
  650. type: string
  651. type: object
  652. required:
  653. - path
  654. - roleId
  655. - secretRef
  656. type: object
  657. cert:
  658. description: Cert authenticates with TLS Certificates
  659. by passing client certificate, private key and ca certificate
  660. Cert authentication method
  661. properties:
  662. clientCert:
  663. description: ClientCert is a certificate to authenticate
  664. using the Cert Vault authentication method
  665. properties:
  666. key:
  667. description: The key of the entry in the Secret
  668. resource's `data` field to be used. Some instances
  669. of this field may be defaulted, in others it
  670. may be required.
  671. type: string
  672. name:
  673. description: The name of the Secret resource being
  674. referred to.
  675. type: string
  676. namespace:
  677. description: Namespace of the resource being referred
  678. to. Ignored if referent is not cluster-scoped.
  679. cluster-scoped defaults to the namespace of
  680. the referent.
  681. type: string
  682. type: object
  683. secretRef:
  684. description: SecretRef to a key in a Secret resource
  685. containing client private key to authenticate with
  686. Vault using the Cert authentication method
  687. properties:
  688. key:
  689. description: The key of the entry in the Secret
  690. resource's `data` field to be used. Some instances
  691. of this field may be defaulted, in others it
  692. may be required.
  693. type: string
  694. name:
  695. description: The name of the Secret resource being
  696. referred to.
  697. type: string
  698. namespace:
  699. description: Namespace of the resource being referred
  700. to. Ignored if referent is not cluster-scoped.
  701. cluster-scoped defaults to the namespace of
  702. the referent.
  703. type: string
  704. type: object
  705. type: object
  706. jwt:
  707. description: Jwt authenticates with Vault by passing role
  708. and JWT token using the JWT/OIDC authentication method
  709. properties:
  710. path:
  711. default: jwt
  712. description: 'Path where the JWT authentication backend
  713. is mounted in Vault, e.g: "jwt"'
  714. type: string
  715. role:
  716. description: Role is a JWT role to authenticate using
  717. the JWT/OIDC Vault authentication method
  718. type: string
  719. secretRef:
  720. description: SecretRef to a key in a Secret resource
  721. containing JWT token to authenticate with Vault
  722. using the JWT/OIDC authentication method
  723. properties:
  724. key:
  725. description: The key of the entry in the Secret
  726. resource's `data` field to be used. Some instances
  727. of this field may be defaulted, in others it
  728. may be required.
  729. type: string
  730. name:
  731. description: The name of the Secret resource being
  732. referred to.
  733. type: string
  734. namespace:
  735. description: Namespace of the resource being referred
  736. to. Ignored if referent is not cluster-scoped.
  737. cluster-scoped defaults to the namespace of
  738. the referent.
  739. type: string
  740. type: object
  741. required:
  742. - path
  743. type: object
  744. kubernetes:
  745. description: Kubernetes authenticates with Vault by passing
  746. the ServiceAccount token stored in the named Secret
  747. resource to the Vault server.
  748. properties:
  749. mountPath:
  750. default: kubernetes
  751. description: 'Path where the Kubernetes authentication
  752. backend is mounted in Vault, e.g: "kubernetes"'
  753. type: string
  754. role:
  755. description: A required field containing the Vault
  756. Role to assume. A Role binds a Kubernetes ServiceAccount
  757. with a set of Vault policies.
  758. type: string
  759. secretRef:
  760. description: Optional secret field containing a Kubernetes
  761. ServiceAccount JWT used for authenticating with
  762. Vault. If a name is specified without a key, `token`
  763. is the default. If one is not specified, the one
  764. bound to the controller will be used.
  765. properties:
  766. key:
  767. description: The key of the entry in the Secret
  768. resource's `data` field to be used. Some instances
  769. of this field may be defaulted, in others it
  770. may be required.
  771. type: string
  772. name:
  773. description: The name of the Secret resource being
  774. referred to.
  775. type: string
  776. namespace:
  777. description: Namespace of the resource being referred
  778. to. Ignored if referent is not cluster-scoped.
  779. cluster-scoped defaults to the namespace of
  780. the referent.
  781. type: string
  782. type: object
  783. serviceAccountRef:
  784. description: Optional service account field containing
  785. the name of a kubernetes ServiceAccount. If the
  786. service account is specified, the service account
  787. secret token JWT will be used for authenticating
  788. with Vault. If the service account selector is not
  789. supplied, the secretRef will be used instead.
  790. properties:
  791. name:
  792. description: The name of the ServiceAccount resource
  793. being referred to.
  794. type: string
  795. namespace:
  796. description: Namespace of the resource being referred
  797. to. Ignored if referent is not cluster-scoped.
  798. cluster-scoped defaults to the namespace of
  799. the referent.
  800. type: string
  801. required:
  802. - name
  803. type: object
  804. required:
  805. - mountPath
  806. - role
  807. type: object
  808. ldap:
  809. description: Ldap authenticates with Vault by passing
  810. username/password pair using the LDAP authentication
  811. method
  812. properties:
  813. path:
  814. default: ldap
  815. description: 'Path where the LDAP authentication backend
  816. is mounted in Vault, e.g: "ldap"'
  817. type: string
  818. secretRef:
  819. description: SecretRef to a key in a Secret resource
  820. containing password for the LDAP user used to authenticate
  821. with Vault using the LDAP authentication method
  822. properties:
  823. key:
  824. description: The key of the entry in the Secret
  825. resource's `data` field to be used. Some instances
  826. of this field may be defaulted, in others it
  827. may be required.
  828. type: string
  829. name:
  830. description: The name of the Secret resource being
  831. referred to.
  832. type: string
  833. namespace:
  834. description: Namespace of the resource being referred
  835. to. Ignored if referent is not cluster-scoped.
  836. cluster-scoped defaults to the namespace of
  837. the referent.
  838. type: string
  839. type: object
  840. username:
  841. description: Username is a LDAP user name used to
  842. authenticate using the LDAP Vault authentication
  843. method
  844. type: string
  845. required:
  846. - path
  847. - username
  848. type: object
  849. tokenSecretRef:
  850. description: TokenSecretRef authenticates with Vault by
  851. presenting a token.
  852. properties:
  853. key:
  854. description: The key of the entry in the Secret resource's
  855. `data` field to be used. Some instances of this
  856. field may be defaulted, in others it may be required.
  857. type: string
  858. name:
  859. description: The name of the Secret resource being
  860. referred to.
  861. type: string
  862. namespace:
  863. description: Namespace of the resource being referred
  864. to. Ignored if referent is not cluster-scoped. cluster-scoped
  865. defaults to the namespace of the referent.
  866. type: string
  867. type: object
  868. type: object
  869. caBundle:
  870. description: PEM encoded CA bundle used to validate Vault
  871. server certificate. Only used if the Server URL is using
  872. HTTPS protocol. This parameter is ignored for plain HTTP
  873. protocol connection. If not set the system root certificates
  874. are used to validate the TLS connection.
  875. format: byte
  876. type: string
  877. caProvider:
  878. description: The provider for the CA bundle to use to validate
  879. Vault server certificate.
  880. properties:
  881. key:
  882. description: The key the value inside of the provider
  883. type to use, only used with "Secret" type
  884. type: string
  885. name:
  886. description: The name of the object located at the provider
  887. type.
  888. type: string
  889. namespace:
  890. description: The namespace the Provider type is in.
  891. type: string
  892. type:
  893. description: The type of provider to use such as "Secret",
  894. or "ConfigMap".
  895. enum:
  896. - Secret
  897. - ConfigMap
  898. type: string
  899. required:
  900. - name
  901. - type
  902. type: object
  903. namespace:
  904. description: 'Name of the vault namespace. Namespaces is a
  905. set of features within Vault Enterprise that allows Vault
  906. environments to support Secure Multi-tenancy. e.g: "ns1".
  907. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces'
  908. type: string
  909. path:
  910. description: 'Path is the mount path of the Vault KV backend
  911. endpoint, e.g: "secret". The v2 KV secret engine version
  912. specific "/data" path suffix for fetching secrets from Vault
  913. is optional and will be appended if not present in specified
  914. path.'
  915. type: string
  916. server:
  917. description: 'Server is the connection address for the Vault
  918. server, e.g: "https://vault.example.com:8200".'
  919. type: string
  920. version:
  921. default: v2
  922. description: Version is the Vault KV secret engine version.
  923. This can be either "v1" or "v2". Version defaults to "v2".
  924. enum:
  925. - v1
  926. - v2
  927. type: string
  928. required:
  929. - auth
  930. - server
  931. type: object
  932. webhook:
  933. description: Webhook configures this store to sync secrets using
  934. a generic templated webhook
  935. properties:
  936. body:
  937. description: Body
  938. type: string
  939. caBundle:
  940. description: PEM encoded CA bundle used to validate webhook
  941. server certificate. Only used if the Server URL is using
  942. HTTPS protocol. This parameter is ignored for plain HTTP
  943. protocol connection. If not set the system root certificates
  944. are used to validate the TLS connection.
  945. format: byte
  946. type: string
  947. caProvider:
  948. description: The provider for the CA bundle to use to validate
  949. webhook server certificate.
  950. properties:
  951. key:
  952. description: The key the value inside of the provider
  953. type to use, only used with "Secret" type
  954. type: string
  955. name:
  956. description: The name of the object located at the provider
  957. type.
  958. type: string
  959. namespace:
  960. description: The namespace the Provider type is in.
  961. type: string
  962. type:
  963. description: The type of provider to use such as "Secret",
  964. or "ConfigMap".
  965. enum:
  966. - Secret
  967. - ConfigMap
  968. type: string
  969. required:
  970. - name
  971. - type
  972. type: object
  973. headers:
  974. additionalProperties:
  975. type: string
  976. description: Headers
  977. type: object
  978. method:
  979. description: Webhook Method
  980. type: string
  981. result:
  982. description: Result formatting
  983. properties:
  984. jsonPath:
  985. description: Json path of return value
  986. type: string
  987. type: object
  988. secrets:
  989. description: Secrets to fill in templates These secrets will
  990. be passed to the templating function as key value pairs
  991. under the given name
  992. items:
  993. properties:
  994. name:
  995. description: Name of this secret in templates
  996. type: string
  997. secretRef:
  998. description: Secret ref to fill in credentials
  999. properties:
  1000. key:
  1001. description: The key of the entry in the Secret
  1002. resource's `data` field to be used. Some instances
  1003. of this field may be defaulted, in others it may
  1004. be required.
  1005. type: string
  1006. name:
  1007. description: The name of the Secret resource being
  1008. referred to.
  1009. type: string
  1010. namespace:
  1011. description: Namespace of the resource being referred
  1012. to. Ignored if referent is not cluster-scoped.
  1013. cluster-scoped defaults to the namespace of the
  1014. referent.
  1015. type: string
  1016. type: object
  1017. required:
  1018. - name
  1019. - secretRef
  1020. type: object
  1021. type: array
  1022. timeout:
  1023. description: Timeout
  1024. type: string
  1025. url:
  1026. description: Webhook url to call
  1027. type: string
  1028. required:
  1029. - result
  1030. - url
  1031. type: object
  1032. yandexlockbox:
  1033. description: YandexLockbox configures this store to sync secrets
  1034. using Yandex Lockbox provider
  1035. properties:
  1036. apiEndpoint:
  1037. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  1038. type: string
  1039. auth:
  1040. description: Auth defines the information necessary to authenticate
  1041. against Yandex Lockbox
  1042. properties:
  1043. authorizedKeySecretRef:
  1044. description: The authorized key used for authentication
  1045. properties:
  1046. key:
  1047. description: The key of the entry in the Secret resource's
  1048. `data` field to be used. Some instances of this
  1049. field may be defaulted, in others it may be required.
  1050. type: string
  1051. name:
  1052. description: The name of the Secret resource being
  1053. referred to.
  1054. type: string
  1055. namespace:
  1056. description: Namespace of the resource being referred
  1057. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1058. defaults to the namespace of the referent.
  1059. type: string
  1060. type: object
  1061. type: object
  1062. caProvider:
  1063. description: The provider for the CA bundle to use to validate
  1064. Yandex.Cloud server certificate.
  1065. properties:
  1066. certSecretRef:
  1067. description: A reference to a specific 'key' within a
  1068. Secret resource, In some instances, `key` is a required
  1069. field.
  1070. properties:
  1071. key:
  1072. description: The key of the entry in the Secret resource's
  1073. `data` field to be used. Some instances of this
  1074. field may be defaulted, in others it may be required.
  1075. type: string
  1076. name:
  1077. description: The name of the Secret resource being
  1078. referred to.
  1079. type: string
  1080. namespace:
  1081. description: Namespace of the resource being referred
  1082. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1083. defaults to the namespace of the referent.
  1084. type: string
  1085. type: object
  1086. type: object
  1087. required:
  1088. - auth
  1089. type: object
  1090. type: object
  1091. retrySettings:
  1092. description: Used to configure http retries if failed
  1093. properties:
  1094. maxRetries:
  1095. format: int32
  1096. type: integer
  1097. retryInterval:
  1098. type: string
  1099. type: object
  1100. required:
  1101. - provider
  1102. type: object
  1103. status:
  1104. description: SecretStoreStatus defines the observed state of the SecretStore.
  1105. properties:
  1106. conditions:
  1107. items:
  1108. properties:
  1109. lastTransitionTime:
  1110. format: date-time
  1111. type: string
  1112. message:
  1113. type: string
  1114. reason:
  1115. type: string
  1116. status:
  1117. type: string
  1118. type:
  1119. type: string
  1120. required:
  1121. - status
  1122. - type
  1123. type: object
  1124. type: array
  1125. type: object
  1126. type: object
  1127. served: true
  1128. storage: true
  1129. subresources:
  1130. status: {}
  1131. status:
  1132. acceptedNames:
  1133. kind: ""
  1134. plural: ""
  1135. conditions: []
  1136. storedVersions: []